Android PopupMenu 简单使用
我的问题:需要对原有项目中已有的PopupMenu菜单进行改进:
一、
1、增加菜单中title标题前的图标icon
2、修改PopupMenu的背景颜色
3、修改PopupMenu中title标题文字的大小和颜色
首先爬过的坑告诉大家
1、在popup_menu.xml中修改文字的大小 输入 android:textsize,发现并没有此项属性,(android:color,android:src,android:background 等属性都没有引用,就不在一一列举了)强行复制粘贴
2、在popup_menu.xml中增加图标,输入 icon属性并且引用图标,图标位置为drawable文件夹下的资源,你们可以试下mimp文件夹下的图标是否能使用,我就不试啦
popup_menu.xml<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"><itemandroid:textsize="30sp"android:icon="@drawable/menu_add_friends"android:id="@+id/add_contacts"android:title="@string/add_person_lx" /></menu>
3、最后添加完文字的大小、颜色、与图标时高兴的去运行项目,发现我们增加的多种效果并没有实现,这是怎么回事呢,通过查询PopupMenu的使用 如下解决方法
二、
1、首先贴出正确的 popup_menu.xml 如下
还是要在布局文件中增加图标 icon并引用
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"><itemandroid:icon="@drawable/menu_add_friends"android:id="@+id/add_contacts"android:title="@string/add_person_lx" /><itemandroid:icon="@drawable/menu_group_chat"android:id="@+id/create_group"android:title="@string/create_group" /><itemandroid:icon="@drawable/menu_qrcode"android:id="@+id/scan"android:title="@string/sao_sao" /><itemandroid:id="@+id/search_group"android:visible="false"android:title="@string/search_group" /></menu>
2、在你需要修改对应的代码中添加如下代码
popupMenu = new PopupMenu(this, plus_add);menu = popupMenu.getMenu();// 通过XML文件添加菜单项MenuInflater menuInflater = getMenuInflater();menuInflater.inflate(R.menu.popup_menu, menu);/** 反射显示布局中的图标 我也不懂..抄的* */try {Field field = popupMenu.getClass().getDeclaredField("mPopup");field.setAccessible(true);MenuPopupHelper helper = (MenuPopupHelper) field.get(popupMenu);helper.setForceShowIcon(true);} catch (NoSuchFieldException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();}
3、设置图标后开始设置popup_menu.xml的背景颜色与其中的文字大小和颜色
4、是通过设置style文件自定义样式去引用的 ,如下
<style name="AppTheme" parent="BaseTheme"><!--<item name="android:windowIsTranslucent">true</item>--><item name="android:windowIsTranslucent">false</item><!--引用自定义popupwindow样式--><item name="popupMenuStyle">@style/MyPopupMenu</item><item name="textAppearanceSmallPopupMenu">@style/MyTextAppearance</item><item name="textAppearanceLargePopupMenu">@style/MyTextAppearance</item></style><!--popupwidow的背景颜色--><style name="MyPopupMenu" ><item name="android:popupBackground">@color/white</item></style><!--popupwindow的文字样式--><style name="MyTextAppearance"><item name="android:textColor">@color/gray_wallet</item><item name="android:textSize">@dimen/txt_normal_content</item></style><!--popMenu分割线的颜色--> <!--暂未使用 --><style name="popmenuDivier"><item name="android:divider">@color/colorAccent</item><item name="android:dividerHeight">2sp</item></style>
5、如果是在某个Activity中使用还可将此样式单独引用
<activityandroid:name="你的activity"android:theme="@style/你自己自定义的样式"/>
总结:也就这么多的内容吧,若是有错误或不足,请大家给我留言,我在修改,谢谢阅读。
若还是不太明白,可阅读此两篇文章
https://www.jianshu.com/p/9abbf0fe4846
https://blog.csdn.net/loucyin/article/details/50813439
Android PopupMenu 简单使用相关推荐
- Android Studio简单设置
2019独角兽企业重金招聘Python工程师标准>>> Android Studio 简单设置 界面设置 默认的 Android Studio 为灰色界面,可以选择使用炫酷的黑色界面 ...
- 简单Android手机APP地图,android最简单手机地图APP(只需5分钟)
android最简单手机地图APP--只有三部分. 第一部分 首先建立一个MapActivity在setContentView(R.layout.activity_map);中创建一个代码如下. [h ...
- android仿微信的activity平滑水平切换动画,Android实现简单底部导航栏 Android仿微信滑动切换效果...
Android实现简单底部导航栏 Android仿微信滑动切换效果 发布时间:2020-10-09 19:48:00 来源:脚本之家 阅读:96 作者:丶白泽 Android仿微信滑动切换最终实现效果 ...
- 【转】Android Studio简单设置
原文网址:http://ask.android-studio.org/?/article/14 Android Studio 简单设置 界面设置 默认的 Android Studio 为灰色界面,可以 ...
- Android JNI简单实例(android 调用C/C++代码)
转载自 xiechengfa 最终编辑 xiechengfa Android JNI简单实例关键字: android.jni Android的jni实例 android 的应用程序(Dalvik VM ...
- android Glide简单使用
今天,简单讲讲Android里Glide的简单使用. Android框架系列: 一.android EventBus的简单使用 二.android Glide简单使用 对于Glide这个加载图片的框架 ...
- android加法服务类,iOS越来越像Android:苹果简单做加法远离精致
原标题:iOS越来越像Android:苹果简单做加法远离精致 刚刚结束的WWDC2016的主题演讲中,苹果为我们带来了最新的iOS 10系统,官方称本次iOS 10的推出有着多大10项的重要更新,在用 ...
- android平台的计时功能,Android实现简单计时器功能
本文实例为大家分享了Android实现简单计时器的具体代码,供大家参考,具体内容如下 布局 在res/layout 下进行布局 xmlns:android="http://schemas.a ...
- Android 系统简单介绍
Android 系统简单介绍 2011年11月20日 写这篇文章的目的是为了给那些刚刚入手安 卓手机的新手们一些参考,希望他们能快速的上手 [第一期]ANDROID基础知识1~20 [第二期]继续泡! ...
最新文章
- “玻璃大王”曹德旺捐资100亿办大学!
- 常量和指针(Pointers and Constants)
- centos7安装redis的正确姿势
- 关于以追加模式写入文件时,为什么第一行是空行?
- java 缓存清理echo_“kill -9”一时爽,秋后算账泪两行
- redis 版的 hello world
- r语言处理数据集编码_在强调编码语言或工具之前,请学习这3个基本数据概念
- PostgreSQL 视图、子查询
- Pandas 数据处理三板斧,你会几板?
- 数据探索很麻烦?推荐一款史上最强大的特征分析可视化工具:yellowbrick
- AllWinner T113交叉工具链篇
- 中控考勤机数据通过java程序读取方法
- Mesh网格编程(四) 正6面体
- 项目总结报告(小米商城)
- K8S报错network is not ready: container runtime network not ready
- 什么是CAS和AQS
- WPF教程(二) WPF vs WinForms
- 计量语言学软件Altmann-Fitter阿尔特曼拟合器的使用简介(更新中)
- 黄土高原主要是什么树木
- 蓝牙追踪_如何使用蓝牙追踪器跟踪您的东西