作者:黄宗翰琼琦莉雯 | 来源:互联网 | 2023-09-04 14:06
休息了三天后,我又回来了,我们继续讨论Toolbar。如果此前你是跟着连载一步一步走下来的,那么你应该会注意到MainActivity是一直在报警告的。因为其中我们声明了toolbar对象,
休息了三天后,我又回来了,我们继续讨论Toolbar。
如果此前你是跟着连载一步一步走下来的,那么你应该会注意到MainActivity是一直在报警告的。因为其中我们声明了toolbar对象,但是一直没有使用。如果要实现菜单功能的话,就要使用了。
结合Toolbar使用菜单还是很容易的。只需在MainActivity中重写onCreateOptionsMenu()和onOptionsItemSelected()就可以了。这种方法已经有着悠久的历史,这里就不再多说了。
回忆一下ActionBar,此前的ActionBar在实现菜单时,如果遇到虚拟按键的机器,会在Activity的右上角显示菜单。如果遇到实体按键的机器,则不会,用户需要手动去触摸菜单键才能激活菜单。这其实是不太合理的,作为用户,很有可能不知道应用中还有菜单。因此,在Toolbar中,这个问题得到了很好的修复。效果就是,无论是否存在实体按键,右上角都会显示菜单,而要实现这一效果也是及其容易的,只需要下面的一句话:
setSupportActionBar(toolbar);
下面放上效果图:
细心的朋友可以发现,上方的Toolbar已经改变了样式,那么它又是如何实现的呢?
这里有两种方法:
1)在每个具有Toolbar的布局文件中定义风格;
2)在AndroidManifest中指向统一的应用主题样式。
前者不必多说,只需要在布局文件中指定特定字段的值就好。这里详细说下后者。
首先我们在布局文件中,除了Toolbar的位置、标题文本和ID外,不要给定任何其他的值,比如:
android:id="@+id/demo_toolbar"
android:layout_
android:layout_
app:title="@string/hello_world" />
然后,在values文件夹中创建theme.xml,在其中定义主题风格,下面列出这段程序清单:
引用的颜色值如下,在color.xml中定义:
#33B5E5
#FFFFFF
这样就实现了上图的效果。
到此,下一章我们探讨一下关于侧边栏的开发使用。