前言
Toolbar的使用大大简化了Actionbar的使用成本,并且可以像一个控件一样可以灵活使用,但是在5.0以下的安卓版本需要使用依赖包,Toolbar目前大部分都是用来替代actionbar的,所以使用跟actionbar很相似。
使用
*主题设置
colorPrimary:Actionbar的背景色(如果使用的是actionbar,则直接为这个颜色),但是在使用Toolbar的时候可以为toolbar设置backgrond属性,android:background="?attr/colorPrimary"来引用该颜色。
colorPrimaryDark:沉浸式状态栏的底色。
colorAccent:对应EditText编辑时、RadioButton选中、CheckBox等选中时的颜色。
剩下的三个属性是为了在引用Toolbar的时候将Actionbar隐藏掉,故设置,最后一个在API22版本编译的时候需要前面不加android。所有的属性值都设置好了之后使Toolbar所在的Activity使用这个Theme.
*代码的调用
这里的每个设置的含义就不再叙述,主要就是注意一下调用顺序的问题:
设置Title要在setSupportActionBar(toolbar)之前。
设置Navigation的图标和点击事件要在其之后。
以上代码提到的地方都可以直接在布局文件里进行设置。
setSupportActionBar(toolbar)的目的是为了将Toolbar当做Actionbar来用,所以就有了:需要显示菜单的时候必须重写onCreateOptionsMenu(Menumenu)方法,设置菜单的点击事件的话,可以重写onOptionsItemSelected(MenuItemitem)方法,也可以直接toolbar.setOnMenuItemClickListener(onMenuItemClick)设置菜单的监听器,但是需要在setSupportActionBar(toolbar)之后(前提是已经设置了菜单xml文件)
附:toolbar.addview()方法可以在title之后加入控件view,不过可能会影响title的显示。
*菜单Menu
title:菜单的标识文字,只有在没有icon或者长按菜单icon的时候才会显示出来。
showAsAction:显示模式,一般是ifRoom,在空间允许的条件下展示
icon:菜单图标
orderInCategory:显示优先级,数字越大,在空间有限的情况下越有可能显示。
*完成使用
toolbar的样式颜色配置在主题中完成,title,logo,navigation等属性可以在代码中设置也可以在xml文件中定义,返回键的点击事件,以及菜单的配置和点击事件我们都已经在上面讲过,故完成使用。
注意
在有些人写的activity中的toolbar很有可能是由一个layout直接搞出来的一个假的,这个也可以做到,包括自定义返回按钮和菜单按钮,根据自己的需求决定。代码如下:
Toolbar与DrawerLayout结合使用
Drawerlayout 与 Toolbar结合可以形成三条线变成箭头的炫酷侧拉栏效果,首先应该按照如下所示的代码搭建好内容区域和菜单区域,并且使DrawerLayout作为根目录,同时对侧栏菜单区域的布局需要加上android:layout_gravity="left"属性来表示该侧拉菜单是从左面拉出的。
配置完成后,在activity的布局文件中同时引用toolbar和DrawerLayout。
之后就是在代码中引用吗,详细的解释都已经写在代码注释中,到这就已经完成了DrawerLayout与Toolbar的共同使用。