Android怎么实现仿微信和qq点击右上角加号弹出操作框
发表于:2024-11-16 作者:千家信息网编辑
千家信息网最后更新 2024年11月16日,本文小编为大家详细介绍"Android怎么实现仿微信和qq点击右上角加号弹出操作框",内容详细,步骤清晰,细节处理妥当,希望这篇"Android怎么实现仿微信和qq点击右上角加号弹出操作框"文章能帮助
千家信息网最后更新 2024年11月16日Android怎么实现仿微信和qq点击右上角加号弹出操作框
本文小编为大家详细介绍"Android怎么实现仿微信和qq点击右上角加号弹出操作框",内容详细,步骤清晰,细节处理妥当,希望这篇"Android怎么实现仿微信和qq点击右上角加号弹出操作框"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
Android仿微信、qq点击右上角加号弹出操作框,先上图,类似于下图这种,点击加号,会弹出一个对话框,如下图:
微信:
自己实现:
接下来,我们来实现此功能:
其实,实现原理就是,点击"+"号,弹出一个PopupWindow。
1、写一个用于展示在ToolBar中的 menu文件,如下:
2、先添加 "+" ,我的项目里使用的是ToolBar,我给ToolBar添加菜单,在Activity中重写方法onCreateOptionsMenu,如下图:
@Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_index_msg, menu); return super.onCreateOptionsMenu(menu); }
到这里,"+"号,已经出现了。
3、给menu添加点击事件,并初始化PopupWindow,弹出自定义的PopupWindow,如下:
@Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.btn_msg: View popupView = IndexActivity.this.getLayoutInflater().inflate(R.layout.popupwindow, null); final PopupWindow window = new PopupWindow(popupView, 300, 220); ListView lv_msg = (ListView) popupView.findViewById(R.id.lv_msg); MsgAdapter msgAdapter = new MsgAdapter(context, msgBeans); lv_msg.setAdapter(msgAdapter); lv_msg.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView> parent, View view, int position, long id) { if (window.isShowing()) { window.dismiss(); } switch (position) { case 0: if (myApplication.isOnline()) { NoticeMainActivity.startActivity(IndexActivity.this); } else { Toast.makeText(IndexActivity.this, "离线状态不能使用此功能", Toast.LENGTH_SHORT).show(); } break; case 1: if (myApplication.isOnline()) { TaskMainActivity.startActivity(IndexActivity.this); } else { Toast.makeText(IndexActivity.this, "离线状态不能使用此功能", Toast.LENGTH_SHORT).show(); } break; default: break; } } }); window.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#F8F8F8"))); window.setFocusable(true); window.setOutsideTouchable(true); window.update(); //设置显示位置 window.showAsDropDown(msgView, 0, 0);//msgView就是我们menu中的btn_msg break; default: break; } return super.onOptionsItemSelected(item); }
4、在上面3中有一个布局popupwindow,我项目中用到的时显示通知,我在布局中用了ListView来显示内容。这里也可以把布局写成固定布局,根据自己的需求充分发挥。下面贴出来popupwindow布局,如下:
5、到这里就实现了我们想要的功能,结果图:
6、通知和任务右边显示的信息条数,是用的shape xml文件进行约束的,也可以使用BadgeView实现,这里就不过多说明了。
读到这里,这篇"Android怎么实现仿微信和qq点击右上角加号弹出操作框"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。
加号
布局
功能
信和
内容
文章
中用
就是
文件
状态
项目
妥当
接下来
上图
下图
事件
任务
位置
信息
原理
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全知识防范系列
宝马软件开发
怎么配置流媒体服务器
中国篮球数据库cba比分
java数据库啥意思
软件开发专业好还是网页好
软件工程转网络安全
海南海口立善网络技术有限公司
海康是用什么数据库
科技互联网经济论坛
宁夏浴火网络技术
网络安全事件影响金融安全
物流中计算机网络技术的案例
银行一般使用的什么服务器
mac链接服务器
服务器保护锁安装图解
北京市小型软件开发公司现状
酒泉日报网络安全专家库仪式
网络安全产品经理就业面
数据库原理难还是数据结构难
计算机类的网络技术专业
软件开发想跳槽五月份可以吗
上海康盛网络技术有限公司
碎片化需求 软件开发
如何确定数据库被加密
2020邮储银行软件开发
网络安全指导思想
科技互联网发展的趋势
ebsco期刊全文数据库
查询数据库脚本