Android 中menu同时显示图标和文字的实现

Android 中menu同时显示图标和文字的实现

前言:

Activity中的menu条目,在设置其showAsAction=”never”时,默认只显示文字title,而不会显示图标icon,可以在Activity中重写onMenuOpened(),通过反射使其图标可见。

实现效果图:

// 让菜单同时显示图标和文字 @Override public 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); }

下面贴下我的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" xmlns:tools="http://schemas.android.com/tools"> <item android:id="@+id/menu_search" android:orderInCategory="100" android:title="搜索" app:actionViewClass="android.support.v7.widget.SearchView" app:showAsAction="always" /> <item android:id="@+id/scan_local_music" android:icon="@mipmap/lv" android:orderInCategory="100" android:title="扫描本地音乐" app:showAsAction="never" /> <item android:id="@+id/select_sort_way" android:icon="@mipmap/lt" android:orderInCategory="100" android:title="选择排序方式" app:showAsAction="never" /> <item android:id="@+id/get_cover_lyrics" android:icon="@mipmap/lq" android:orderInCategory="100" android:title="获取封面歌词" app:showAsAction="never" /> <item android:id="@+id/imporve_tone_quality" android:icon="@mipmap/lw" android:orderInCategory="100" android:title="升级音质" app:showAsAction="never" /> </menu>

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

时间: 2024-09-17 08:32:34

Android 中menu同时显示图标和文字的实现的相关文章

android开发-android中如何对app图标进行点击事件的监听?也就是一键锁屏的效果

问题描述 android中如何对app图标进行点击事件的监听?也就是一键锁屏的效果 如题,android中如何对app图标进行点击事件的监听,也就是类似一键锁屏的功能,一点图片就可以响应 解决方案 本文演示如何在Android中实现程序前后台切换效果. 在介绍程序实现之前,我们先看下Android中Activities和Task的基础知识. 我们都知道,一个Activity 可以启动另一个Activity即使这个Activity是定义在别一个应用程序里的,比如说,想要给用户展示一个地图的信息,现

Android中正确使用字体图标(iconfont)的方法_Android

字体图标 字体图标是指将图标做成字体文件(.ttf),从而代替传统的png等图标资源. 使用字体图标的优点和缺点分别为: 优点:       1. 可以高度自定义图标的样式(包括大小和颜色),对于个人开发者尤其适用       2. 可以减少项目和安装包的大小(特别你的项目中有很多图片icon时,效果将是M级)       3. 几乎可以忽略屏幕大小和分辨率,做到更好的适配       4. 使用简单       -- 缺点:        1. 只能是一些简单的icon,不能代替如背景图.9图

Android中正确使用字体图标(iconfont)的方法

字体图标 字体图标是指将图标做成字体文件(.ttf),从而代替传统的png等图标资源. 使用字体图标的优点和缺点分别为: 优点: 1. 可以高度自定义图标的样式(包括大小和颜色),对于个人开发者尤其适用 2. 可以减少项目和安装包的大小(特别你的项目中有很多图片icon时,效果将是M级) 3. 几乎可以忽略屏幕大小和分辨率,做到更好的适配 4. 使用简单 -- 缺点:        1. 只能是一些简单的icon,不能代替如背景图.9图等资源 2. 一些需要文字说明的icon,图片资源将会是更好

如何在ghost win7系统中禁止桌面显示图标?

  当然,在咱们的ghost win7系统下载中,系统自带的就有一些程序和软件,例如咱们新装的电脑中,就有一些自带的程序软件,如IE浏览器.如计算机.回收站等等,当然,之后大家也可以将自己比较常用到的软件安装到系统中,而对于一些常用的软件,则需要将快捷方式安装到桌面上,也就是咱们日常看到的ghost win7系统桌面上的图标,那么咱们的这些图标就一定要显示在ghost win7系统的桌面上吗?咱们是否有办法可以禁止桌面显示图标呢?下面,就让小编来介绍一下,如何在ghost win7系统中禁止桌面

android中的activity的标题栏的文字是靠lable标签改变的吗

问题描述 android中的activity的标题栏的文字是靠lable标签改变的吗 android中的activity的标题栏的文字是靠lable标签改变的吗 多个activity的标题栏是如何改变的 解决方案 通过在manifest文件中,配置activity是通过android:name属性配置 解决方案二: 给每一个activity配置lable属性即可, 解决方案三: android:label 设置

Xcode中storyboard能显示图标,但是iPhone仿真器不能显示图标

问题描述 Xcode中storyboard能显示图标,但是iPhone仿真器不能显示图标 如上图所示,在Xcode中storyboard能显示图标,但是运行仿真时,在iphone模拟器中不能显示图标 解决方案 添加约束条件,约束控件的位置,要不可能因为屏幕大小隐藏. 解决方案二: 先看看你的storyboard中xcode是否有约束警告

Android中menu使用详解

Menu(菜单)是Android中一定会使用的模块,每个Android项目都会用到Menu来给用户起到选择和导航的作用,提升用户体验,下面通过本文给大家分享android 中menu使用,需要的朋友一起看看吧 很多activity界面中都存在一个菜单栏,就是点击右上角的一个按钮的时候会出现一个下拉列表差不多的东西,这个功能的实现其实只需要下面的两步,每一个activity都可以拥有自己独一无二的menu,具体的格式可以自己进行定义,详细的创建步骤如下 ①在res下的menu中创建file_men

android中Bitmap用法(显示,保存,缩放,旋转)实例分析_Android

本文实例讲述了android中Bitmap用法.分享给大家供大家参考.具体如下: 在Android SDK中可以支持的图片格式如下:png , jpg , gif和bmp. 1.Bitmap的创建 借助于BitmapFactory. 1)资源中的图片 使用BitmapFactory获取位图 复制代码 代码如下: Bitmap bmp = BitmapFactory.decodeResource(this.getResources(), R.drawable.testImg); 或者是: Reso

android中Bitmap用法(显示,保存,缩放,旋转)实例分析

本文实例讲述了android中Bitmap用法.分享给大家供大家参考.具体如下: 在Android SDK中可以支持的图片格式如下:png , jpg , gif和bmp. 1.Bitmap的创建 借助于BitmapFactory. 1)资源中的图片 使用BitmapFactory获取位图 复制代码 代码如下:Bitmap bmp = BitmapFactory.decodeResource(this.getResources(), R.drawable.testImg); 或者是: Resou