Toolbar
一般用于顶部类似标题栏的东西。由于原来的 Actionbar 碎片化太严重,所以 Google 推出了 Toolbar。
布局
前面一些代码都提到了 android.support.v7,这里也不例外,这是一个兼容性的指示,如果不指定,我们只有高版本的 Android 能用。比如:
至于用 v 几,取决于你想最低兼容到哪个版本。
呈现代码
需要调用 setSupportActionBar。
Menu
我们现在需要在 Toolbar 右边显示三个竖着的小点,一点击它,就出一个菜单。或者当我们按下 Android 的菜单键时(Android 标志性三个键之一),也会弹出来。
布局
res/menu/ 中新建一个 xml 布局文件,顶级节点 menu 下放入两个菜单项:
title 值我们是用的引用,具体是放在 res/values/strings.xml 中的。
呈现代码
对 Activity 重载 onCreateOptionsMenu。
如果有 Toolbar,则显示如下:
由于“设置”的 showAsAction 为 always,所以它是一直显示出来的,而另一个菜单项是隐藏起来的,要点那三个点点,或者按 Android 的菜单键才会显示出来,此时“设置”这一项不包含在显示的菜单列表中(如果没有 Toolbar,则按 Android 菜单键时,“设置”这一项包含在显示的菜单列表中)。
事件代码
菜单是显示出来了,但是要让点击菜单有动作,同样是对 Activity 重载 onOptionsItemSelected 方法。
啰嗦一下
其实我觉得 onCreateOptionsMenu、onOptionsItemSelected 这两个名称有点随意,如果是我,我更愿意起名为:
Options 后面统一跟上 Menu,统一把动词放在后面,ing 表示动作开始,ed 表示动作结束,强迫症的人,看着就舒坦。