一、概述
配合Android L的发布,Google还更新了Appcombat V7库,新加入了代替现有ActionBar机制的控件——Toolbar,不像以前ActionBar是frameworks封装好提供接口调用的一套应用界面组成部分,它牵涉的东西很多,而Toolbar只是一个控件,和LinearLayout一样可以装载view的容器控件,所以它定制性非常强灵活度非常高,但它又加入了实现现有ActionBar功能的逻辑,感觉非重强大。接下来,我们一起来看看这个新生代Toolbar的使用方法。
二、使用总概
Toolbar在Appcombat V7库是一个公开的控件,位于android.support.v7.widget包中,继承自ViewGroup,所以我们可以像使用普通的容器控件一样使用Toolbar,并主动调用相关方法实现ActionBar的功能。但是,Google是希望在Appcombat V7库中使用Toolbar来代替现有ActionBar的实现,所以肯定不会仅仅提供个控件就好了,Appcombat V7还把Toolbar封装进默认的Activity中。在新建工程时,创建向导会默认导入Appcombat V7库,自动创建的Activity也会继承自对Toolbar封装过的ActionBarActivity,创建工程后立刻运行应用,此时已是Toolbar实现了ActionBar的功能。
|
|
android.support.v7.widget.ActionBarActivity
- Actionbar
|
|
- Toolbar
|
|
SupportActionBar是由Toolbar实现,而Toolbar又是公开的,所以上面两种方式的等价的。
自行指定Toolbar
定义主题
XML
使用
一个界面可以绑定多个Toolbar, Toolbar也可以单独绑定menu非常方便