android toolbar带tab,【Android】Toolbar
#Toolbar##简述Toolbar 在v7.21+包中,是一个用来替代ActionBar的组件,可以说是ActionBar的升级版本。Toolbar与ActionBar比较有几个特点:ActionBar属于Window的装饰组件,一个activity中只能有一个ActionBar,但是Toolbar属于View级别,可以有任意多个ActionBar定制困难,Toolbar可以看作一个ViewG
#Toolbar
##简述
Toolbar 在v7.21+包中,是一个用来替代ActionBar的组件,可以说是ActionBar的升级版本。Toolbar与ActionBar比较有几个特点:
ActionBar属于Window的装饰组件,一个activity中只能有一个ActionBar,但是Toolbar属于View级别,可以有任意多个
ActionBar定制困难,Toolbar可以看作一个ViewGroup,可以自由搭配
Toolbar的几个组成与ActionBar差不多,顺序是:
导航按钮
logo
标题
自定义组件
action menu(类似菜单)
##使用
###替换ActionBar
如果使用的是兼容包,那么依旧必须继承ActionBarActivity,唯一的要点:主题中需要去掉ActionBar。
false
或者
代码中用Toolbar替换掉ActionBar即可
setContentView(R.layout.v7_activity_toolbar);
Toolbar toolbar = (Toolbar) findViewById(R.id.v7_toolbar_1);
if (toolbar != null) {
setSupportActionBar(toolbar);
}
就是这么简单
###实现tab
可以注意点到,ActionBar中的setNavigationMode方法已经被标记为deprecated了,所以想必也是不推荐了。 Toolbar并没有提供现成的实现,虽然带来了不便,但是赋予了更大的自由。 只需要在Toolbar的自定义组件部分加入tab组件就可以了,tab组件有很多,google也提供了一个实现SlidingTabLayout。
android:id="@+id/v7_toolbar_2"
android:layout_width="match_parent"
android:layout_height="60dp">
android:id="@+id/v7_sliding_tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
###实现nav list
同tab,将SlidingTabLayout替换为Spinner就行(老系统可能需要寻找其他组件辅助实现预期效果)
android:id="@+id/v7_toolbar_1"
android:layout_width="match_parent"
android:layout_height="60dp"
app:theme="@style/V7.ToolbarTheme">
android:id="@+id/v7_toolbar_spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
Android分享 Q群:315658668
更多推荐
所有评论(0)