Android怎么实现仿微信和qq点击右上角加号弹出操作框
发表于:2024-11-24 作者:千家信息网编辑
千家信息网最后更新 2024年11月24日,本文小编为大家详细介绍"Android怎么实现仿微信和qq点击右上角加号弹出操作框",内容详细,步骤清晰,细节处理妥当,希望这篇"Android怎么实现仿微信和qq点击右上角加号弹出操作框"文章能帮助
千家信息网最后更新 2024年11月24日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安全错误
数据库的锁怎样保障安全
云服务器可以自动启动
世界互联网大会十八项科技
管理中心服务器属于设备吗
数据库打感叹号
达梦数据库创建表空间语句
光网络技术课后题答案
附加数据库950
宏业软件是什么软件开发的
软件开发工程师资格证有用吗
华为服务器客服电话
中国网络安全年会2017
数据库查询设计实验总结和体会
steam服务器被攻击
武汉上海新炬网络技术有限公司
我的世界最火爆的跑酷服务器
代理服务器连接被设置怎么办
掌纹数据库
mss连接数据库
软件开发行员
数据库程序设计题大题
服务器带域用户权限复制文件
小学网络安全宣传材料
数据库安全性常用的技术
网络安全运营商应受处罚
软件开发外包给个人怎么做账
数据库控制的常用方法和技术
地下城与勇士服务器互通
日本声优软件开发
对话数据库技术
海康存储服务器最少放几块硬盘