标签:android style http ar io os 使用 sp java
Toolbar 在v7.21+包中,是一个用来替代ActionBar的组件,可以说是ActionBar的升级版本。Toolbar与ActionBar比较有几个特点:
Toolbar的几个组成与ActionBar差不多,顺序是:
如果使用的是兼容包,那么依旧必须继承ActionBarActivity,唯一的要点:主题中需要去掉ActionBar。
<style name="V7.Toolbar" parent="Theme.AppCompat.Light.DarkActionBar"> <item name="windowActionBar">false</item> </style> 或者 <style name="V7.Toolbar" parent="Theme.AppCompat.Light.NoActionBar"> </style>
代码中用Toolbar替换掉ActionBar即可
setContentView(R.layout.v7_activity_toolbar); Toolbar toolbar = (Toolbar) findViewById(R.id.v7_toolbar_1); if (toolbar != null) { setSupportActionBar(toolbar); }
就是这么简单
可以注意点到,ActionBar中的setNavigationMode方法已经被标记为deprecated了,所以想必也是不推荐了。
Toolbar并没有提供现成的实现,虽然带来了不便,但是赋予了更大的自由。
只需要在Toolbar的自定义组件部分加入tab组件就可以了,tab组件有很过,google也提供了一个实现SlidingTabLayout。
<android.support.v7.widget.Toolbar android:id="@+id/v7_toolbar_2" android:layout_width="match_parent" android:layout_height="60dp"> <dev.xesam.android.study.lollipop.v7.toolbar.SlidingTabLayout android:id="@+id/v7_sliding_tabs" android:layout_width="match_parent" android:layout_height="wrap_content" /> </android.support.v7.widget.Toolbar>
同tab,将SlidingTabLayout替换为Spinner就行(老机型可能需要寻找其他组件辅助实现预期效果)
<android.support.v7.widget.Toolbar android:id="@+id/v7_toolbar_1" android:layout_width="match_parent" android:layout_height="60dp" app:theme="@style/V7.ToolbarTheme"> <Spinner android:id="@+id/v7_toolbar_spinner" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </android.support.v7.widget.Toolbar>
demo(dev.xesam.android.study.lollipop.v7.toolbar.ToolbarActivity)
Android分享 Q群:315658668
标签:android style http ar io os 使用 sp java
原文地址:http://my.oschina.net/xesam/blog/356855