关于Toolbar的使用网上有很多介绍了,这里不赘述了。
1.Toolbar主题
一般使用系统的主题ThemeOverlay.AppCompat.Dark.ActionBar。也可以自定义主题:
<style name="ToolbarTheme" parent="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<item name="titleTextColor">@color/colorAccent</item> <!--标题颜色-->
<item name="actionMenuTextColor">@color/white</item> <!-- 菜单颜色-->
</style>
这样我们可以控制标题的颜色和菜单的颜色,当然还有其他的标签…
2.动态改变menu
可能会有这样的需求,Toolbar有个确定的menu,选择条目时这个menu会显示当前选择数量,如:确定(3).
- 1.不使用menu,在Toolbar中添加一个TextView控件
这种方式虽然也能实现,但是相当于只是把Toolbar当做一个ViewGroup使用了,我之前也是这样做的,哈哈哈
- 2.在onPrepareOptionsMenu方法中控制
onPrepareOptionsMenu这个方法在创建菜单时(onCreateOptionMenu)会调用一次.
比如我们现在就实现 “确定(3)”这种和动态设置显示和隐藏:
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
Log.e(TAG, "onPrepareOptionsMenu");
if(isSave){
MenuItem save = menu.findItem(R.id.menu_save);
save.setVisible(true);
String title = count == 0 ? "保存" : String.format("保存(%d)", count);
save.setTitle(title);
menu.findItem(R.id.menu_share).setVisible(false);
} else {
menu.findItem(R.id.menu_save).setVisible(false);
MenuItem share = menu.findItem(R.id.menu_share);
share.setVisible(