很多APP的右上角都有如下图的三个点

(1)方法一:
实现起来也很简单,首先按照下图的指示新建一个menu文件夹。然后在menu文件夹下新建一个menu.xml的文件。名称必须为menu。

以下为xml代码:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"><itemandroid:id="@+id/menuLogin"android:orderInCategory="101"android:icon="@drawable/ic_user"app:showAsAction="never"android:title="1" /><itemandroid:id="@+id/menuExit"android:orderInCategory="101"android:icon="@drawable/ic_user"app:showAsAction="never"android:title="2" />
</menu>

然后在想要显示三个点的页面的Java代码中添加下面的代码,即可

 @Overridepublic boolean onCreateOptionsMenu(Menu menu) {getMenuInflater().inflate(R.menu.menu,menu);return true;}

然后是点击item后实现的操作,需要加入代码:

public boolean onOptionsItemSelected(MenuItem item){switch (item.getItemId()){case R.id.menuLogin:Toast.makeText(getApplicationContext(),"1",Toast.LENGTH_SHORT).show();break;case R.id.menuExit:Toast.makeText(getApplicationContext(),"2",Toast.LENGTH_SHORT).show();break;}return super.onOptionsItemSelected(item);}

按上述步骤完成后可实现右上角菜单功能,但是会发现弹出的菜单遮挡了标题栏,如何处理可参考这篇文章。https://blog.csdn.net/qq_40246759/article/details/112277393
如果想实现menu中item的文字和图标同时显示,可添加以下代码(直接复制可用)

 @Overridepublic boolean onMenuOpened(int featureId, Menu menu) {if (menu != null) {if (menu.getClass().getSimpleName().equalsIgnoreCase("MenuBuilder")) {try {Method method = menu.getClass().getDeclaredMethod("setOptionalIconsVisible", Boolean.TYPE);method.setAccessible(true);method.invoke(menu, true);} catch (Exception e) {e.printStackTrace();}}}return super.onMenuOpened(featureId, menu);}

效果图
(2)方法二:(2021.1.22更新)
不用menu.xml,直接在代码中创建menu。(目前还不知道怎么设置加入图标)
将下面的代码直接复制进activity中即可。

 public boolean onCreateOptionsMenu(Menu menu) {//第二个参数表示此menu的id值,在onOptionsItemSelected方法中通过id值判断是哪个menu被点击了menu.add(Menu.NONE, 1, 1, "菜单1");return true;}//点击实现的操作public boolean onOptionsItemSelected(MenuItem item){switch (item.getItemId()){case 1:Toast.makeText(getApplicationContext(),"菜单1",Toast.LENGTH_SHORT).show();break;}return true;}

Android开发(四):在标题栏右上角实现菜单(三个点)相关推荐

  1. Android开发之在程序右上角添加菜单选项

    在res-->menu-->main.xml中定义菜单的选项 <menu xmlns:android="http://schemas.android.com/apk/res ...

  2. android动态添加圆,Android开发中TextView 实现右上角跟随文本动态追加圆形红点

    在一个比较坑的需求里,一段文字右上角需要追加一个圆形红点.最右侧有个金额,红点动态随着文字移动,然后各种摆布局,一下午坑死我了.后来果断放弃.然后就想试试直接自定义view来实现这个需求. 最坑的就是 ...

  3. android开发 修改标题栏背景_移动开发整体凉凉的背景下,究竟还剩哪些 Android热门前沿知识...

    1. Android架构设计模式 MVC架构设计模式:MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写. MVP架构 ...

  4. android开发沉浸式标题栏_android实现沉浸式状态栏

    前言 在android开发的过程中,经常会涉及到沉浸式状态栏的问题,说白了,就是手机屏幕顶部栏的颜色显示问题,为了实现美感一体的效果,许多app都已经开始了沉浸式状态栏的显示,这里,我也简单介绍一个沉 ...

  5. android开发 修改标题栏背景_Android哆啦A梦调试工具体验

    滴滴开发调试工具(https://github.com/didi/DoraemonKit)是滴滴开源的一款功能齐全的客户端( iOS .Android )研发助手 是什么 用图说话,这个调试工具其实就 ...

  6. Android开发如何去除标题栏title(转)

    去除标题栏title其实非常简单,他有两种方法,一种是在代码中添加,另一种是在AndroidManifest.xml中添加: 1.在代码中实现: 在此方法setContentView(R.layout ...

  7. android开发 修改标题栏背景_android开发修改状态栏背景色和图标颜色

    修改状态栏背景色和图标颜色 默认是黑底白字的,现在要改为白底黑字的 先看下效果图: Screenshot_2018-01-03-19-20-27-797_com.yiban1314..png 1.状态 ...

  8. Android开发:去除标题栏的方法

    项目中需要有去除标题栏的需求,于是简单的研究了一下. 效果图: Android中如果我们不需要标题栏(现在大多数是ToolBar),那么我们可以将其去除,去除的方法大体可以分为两种:1.代码中实现:2 ...

  9. Android开发四年以来的工作难点总结

    1. Android N floating widget无法显示.统一管理一个window token解决了此问题. 2. Pop-up window在Android6.0上出现花屏. 3. 由于状态 ...

最新文章

  1. 没人比程序猿更讨厌软件
  2. php和python和java-python和java,php,c,c#,c++的对比
  3. 二分图最大匹配 -- 匈牙利算法
  4. Genymotion模拟器
  5. 安卓 camera 调用流程_[Camera]Camera1 open、preview、take picture流程分析(3)
  6. js word 预览_微软补丁日:Word/DHCP/LNK远程代码执行漏洞预警
  7. 谈计算机知识对学生的作用,浅谈计算机在教学中的作用
  8. Hexo安装配置详解
  9. C#之反射又是什么东西
  10. mysql5性能比较_MySQL 5.7&MySQL 8.0 性能对比
  11. javaweb(08) jsp(了解)
  12. linux下安装在线mysql,嵌入式 Linux下安装Mysql离线和在线安装
  13. ArcGIS Bathymetry 管理水深数据的方法
  14. h5红包雨代码_【多管闲事】非专业人士H5学习指北:从门还没入到放弃 | 叙一来闲...
  15. 浅谈CDN技术的发展历程
  16. oracle虚拟用户是什么意思,配置vsftp基于虚拟用户认证
  17. vgg16网络模型的学习理解
  18. 百度apistore第三方登陆
  19. 【Word画线条5大技巧】
  20. Pycharm下载MaxCompute过程

热门文章

  1. 《Dreamweaver CS6 完全自学教程》笔记 第十三章:Dreamweaver 中的 HTML 代码
  2. 纪伯伦 《先知》 孩子
  3. 无线网络CSMA/CA原理分析以及相关技术的介绍和分析
  4. java扑克牌随机发牌_Java练习——扑克牌发牌器
  5. wf显示远端服务器无反应,无线路由器连接不上网络,一直提示网络服务器远端无响应!...
  6. 3D可视化黑科技,VR线上智慧城市在线三维展示
  7. 上架APPStore 截图尺寸要求
  8. 中国姿势矫正设备市场深度研究分析报告
  9. 我的世界java版注册账号教程_我的世界java版官方购买教程
  10. pandas算加权平均值_python – groupby加权平均值和pandas数据帧中的和