首先要指明菜单栏是什么?就是在App最顶端的那一栏,譬如微信的最上面的"+"。
接下来说明创建菜单栏步骤:
1:不管是在Fragment中应用还是在普通的Activity中应用,都需要创建对应的XML菜单布局文件。步骤如下:
先在res文件夹下穿件menu文件夹;然后在menu文件夹下创建menu菜单;在创建后的xml文件中,需要声明app的命名空间。然后在menu标签对中,声明item来作为菜单选项。代码如下:
参数说明:icon自然是该选项的图标;
title:表示要显示选项的文字
app:showAsAction:表示显示的方式,其值有never(从不,表示选项在三个小点的子菜单中),always(表示总是显示,一般不是很建议用),ifRoom(表示如果空间够大则显示),ifRoom|withText(则表示空间够大的话会显示文字)
2.菜单的显示:通过重写onCreateOptionMenu()方法来实现菜单的显示,在该方法中,通过inflater.inflate()来指定要显示哪个菜单。
不管是activity还是fragment中使用都是如此,但要注意的是在fragment中使用时,需要在重写的onCreate方法中添加代码setHasOptionsMenu(true);来表示接受菜单的回调。代码示范如下:
其中的MenuItem是获取菜单选项的,setTitle则是设置文字。
3.关于选项的点击:
选项的点击通过重写onOptionsItemSelected(MenuItem item)来实现。
在这个函数中,可以通过判读item的id来进行相应的逻辑处理。实例代码:
4.层级菜单的实现
也就是在菜单栏的左边出现一个回退的小箭头,这是一个比较实用的功能,实现较为简单,在Manifest,xml中,将activity添加parentActivityName,如下:
5.一些小图标的生成:
右击drawable,选择New——ImageAsset,将type,选择Clipart,选择图片后会自动生成图片,顺便提一下图标的尺寸应该是:32,48,64,96,128
以上是MenuItem的笔记内容,有需求再进行补充。
网友评论