博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android封装类似微信的顶部TitleBar弹出的PopupWindow代码
阅读量:5911 次
发布时间:2019-06-19

本文共 2274 字,大约阅读时间需要 7 分钟。

仿顶部titlebar,点击加号弹出的PopupWindow,是封装好的PopupWindow,直接拿来用即可,先看效果图: 

这里写图片描述 
调用代码非常简单,这是MainActivity的代码:

public class MainActivity extends AppCompatActivity {    private TitlePopup titlePopup;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        initPopWindow();        findViewById(R.id.bt_start).setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                titlePopup.show(v);            }        });    }    private void initPopWindow() {        // 实例化标题栏弹窗        titlePopup = new TitlePopup(this, ViewGroup.LayoutParams.WRAP_CONTENT,                ViewGroup.LayoutParams.WRAP_CONTENT);        titlePopup.setItemOnClickListener(onitemClick);        // 给标题栏弹窗添加子类        titlePopup.addAction(new ActionItem(this, R.string.menu_groupchat,                R.drawable.icon_menu_group));        titlePopup.addAction(new ActionItem(this, R.string.menu_addfriend,                R.drawable.icon_menu_addfriend));        titlePopup.addAction(new ActionItem(this, R.string.menu_qrcode,                R.drawable.icon_menu_sao));        titlePopup.addAction(new ActionItem(this, R.string.menu_money,                R.drawable.abv));    }    private TitlePopup.OnItemOnClickListener onitemClick = new TitlePopup.OnItemOnClickListener() {        @Override        public void onItemClick(ActionItem item, int position) {            // mLoadingDialog.show();            switch (position) {                case 0:// 发起群聊                    Toast.makeText(getApplicationContext(), "发起群聊", Toast.LENGTH_SHORT).show();                    break;                case 1:// 添加朋友                    Toast.makeText(getApplicationContext(), "添加朋友", Toast.LENGTH_SHORT).show();                    break;                case 2:// 扫一扫                    Toast.makeText(getApplicationContext(), "扫一扫", Toast.LENGTH_SHORT).show();                    break;                case 3:// 收钱                    Toast.makeText(getApplicationContext(), "收钱", Toast.LENGTH_SHORT).show();                    break;                default:                    break;            }        }    };}

剩余封装好的工具类不贴了,还有图片啊,颜色啊资源文件,我把demo上传到了CSDN资源下载,下载地址请点击: 

你可能感兴趣的文章
[译]使用 Siesta 处理 Swift 网络请求
查看>>
Android 中的子线程解析
查看>>
aidl跨进程通讯
查看>>
小程序上传图片到七牛云(支持多张上传,预览,删除)
查看>>
spring boot 整合mybatis 无法输出sql的问题
查看>>
为什么要用IPython/Jupyter?
查看>>
Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
查看>>
数据可视化之 Sankey 桑基图的实现
查看>>
项目实战-Api的解决方案
查看>>
前端面试题总结
查看>>
(三)从jvm层面了解线程的启动和停止
查看>>
SOA和微服务之间的区别
查看>>
IBM提出8位深度网络训练法,提速4倍同时保持高精度
查看>>
苹果发布Core ML 2
查看>>
“智能云”战略新品震撼发布,开发者如何快速上手?
查看>>
华为吴晟:分布式监控系统的设计与实现
查看>>
[deviceone开发]-do_Webview的基本示例
查看>>
亚马逊Alexa借助神经网络生成播音员声音
查看>>
比特大陆新一轮裁员50%,回应称系人员调整
查看>>
将 Measurements 和 Units 应用到物理学
查看>>