自定义menu菜单布局
一:先写一个自定义的菜单布局
这个布局可以根据业务需要任意写
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="wrap_content"android:layout_height="wrap_content"android:paddingLeft="10dip"android:paddingRight="10dip"android:gravity="center"android:text="收藏"android:drawableLeft="@mipmap/me_collect"android:drawablePadding="3dp"android:textColor="@color/title_color"android:clickable="true" />
二:在menu的item中引用该布局
这了用到了app:actionLayout来指定自定义菜单布局,需要注意的是必须是app:actionLayout,而不应该是android:actionLayout,否则onCreateOptionsMenu方法中的getActionView()方法会返回null。
<?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"><!--1:actionLayout用于指定你自定义的菜单布局;2:必须是app:actionLayout,而不应该是android:actionLayout否则onCreateOptionsMenu方法中的getActionView()方法会返回null--><item android:id="@+id/flavor"android:title=""app:showAsAction="always"app:actionLayout="@layout/head_flavor_menu" />
</menu>
三:onCreateOptionsMenu(Menu menu)中引用该布局
这一步的目的是将你自定义的菜单当成普通菜单处理,通过给自定义的菜单布局设置单击事件,让其在单击时执行onOptionsItemSelected(MenuItem item),从而让其像普通的Menu item一样在onOptionsItemSelected中处理点击事件就可以了。
@Overridepublic boolean onCreateOptionsMenu(Menu menu) {getMenuInflater().inflate(R.menu.head_flavors, menu);final MenuItem item = menu.findItem(R.id.flavor);
// getActionView()返回你自定义的菜单布局,设置单击事件的目的是,让其单击时执行onOptionsItemSelected,从而只需统一在onOptionsItemSelected处理即可item.getActionView().setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {onOptionsItemSelected(item);}});return super.onCreateOptionsMenu(menu);}
四:没有第四步了!
由第三步可知,onOptionsItemSelected(MenuItem item) 方法无需做任何改变。
五:最后看看效果
自定义menu菜单布局相关推荐
- Android自定义menu菜单布局
一:先写一个自定义的菜单布局 menu_gallery.xml: <?xml version="1.0" encoding="utf-8"?> &l ...
- android 自定义menu菜单,android 自定义menu菜单样式
Android系统中的menu样式不是太好,可以自定义.运行效果 CustomActivity.java继承Activity.java 在此文件中实现了不同于系统的dialog import java ...
- android 自定义menu背景,Android编程实现自定义系统菜单背景的方法
本文实例讲述了Android编程实现自定义系统菜单背景的方法.分享给大家供大家参考,具体如下: 不多说,上图,见代码. package lab.sodino.menutest; import andr ...
- html 右键菜单 插件,Script Menu:自定义右键菜单
Script Menu的开发背景 对于网页上的右键菜单用户可能再熟悉不过了,常见的右键菜单有复制.粘贴.刷新.另存为.查看网页源代码等,但是这些右键菜单都是chrome自己提供或者其他插件的菜单,你有 ...
- android 自定义menu 背景颜色,Android中设置Menu菜单的文字颜色为白色
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 开发者交流裙: 188168040 Android中设置Menu菜单的文字颜色为白色,一般情况下,Android中Menu菜单的title文字颜色为黑色, ...
- 自定义Android菜单背景
本文来自:安卓航班网 如何自定义Android菜单背景呢? 默认的情况下Android系统的菜单是白色的,下面的例子可以通过自定义的xml布局实现个性化的menupublic class MenuEx ...
- Android项目开发实战—自定义左右菜单
Android实现自定义左右菜单 功能描述: 在左中右三个区域分别承载三个不同的view,把它全部添加进来,而我们实现左右菜单,就是来控制当前显示的是哪一部分:如果显示中间菜单,就把中间菜单呈现在用户 ...
- android自定义侧滑菜单slidmenu
实现上主要就是一个自定义的MySlidView,在这个MySlidView里边去加载两个你要显示的View(mMenuView, mSlidView),即一个是滑动之后,左侧的mSlidView,另一 ...
- powerpoint编程_如何自定义PowerPoint讲义布局
powerpoint编程 PowerPoint handouts are a great resource to distribute to your audience so that they ca ...
最新文章
- Java面试题之多线程同步和互斥有几种实现方法,都是什么?
- 集合论——二元关系的表示方法,特殊的二元关系及关系的运算
- kali 树莓派 android,【原】树莓派安装KALI LINUX的手记
- 【转】Java学习---Java Web基础面试题整理
- java元婴期(18)----java进阶(spring(2)----DI(依赖注入)基于注解的IOC与DI配置properties)
- 最新最全的用户画像系统详解,还可免费试用哦!
- fluent p1模型_Fluent辐射传热模型理论以及相关设置-转载 于 作者:Libo Chen
- ps自定义形状工具_【福利】3000款PS自定义形状免费打包下载
- linux的for循环怎么写,Linux命令:for循环写法总结
- VMware SDS 什么是VSAN?? VSAN的体系结构 (含VSAN 6.0、6.1版的新内容)
- 雷蛇在天猫618大爆发,雷军第二天就找其创始人取经
- Live2D Cubism Editor Pro v4.1.00 卡通动画模型制作工具中文版
- 计算机基础知识题二,计算机基础知识题库(五)
- 关于计算机的英语作文初中,computer初中英语作文范文
- 开源的微信公众号管理工具
- 如何利用SUM函数合并单元格求和
- matlab 图像二值化 后0、1像素的个数统计
- 从键盘上输入一个字符,判断并输出是控制符、数字字符、大写字母、小写字母或是其他字符
- 人人都是产品经理之用Axure制作微信主页原型图
- SDNU 1268.超超爱链表