#Toolbarandroid
##簡述git
Toolbar 在v7.21+包中,是一個用來替代ActionBar的組件,能夠說是ActionBar的升級版本。Toolbar與ActionBar比較有幾個特色:app
Toolbar的幾個組成與ActionBar差很少,順序是:google
##使用.net
###替換ActionBarcode
若是使用的是兼容包,那麼依舊必須繼承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便可ip
setContentView(R.layout.v7_activity_toolbar); Toolbar toolbar = (Toolbar) findViewById(R.id.v7_toolbar_1); if (toolbar != null) { setSupportActionBar(toolbar); }
就是這麼簡單get
###實現tabit
能夠注意點到,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>
###實現nav list
同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 demo(dev.xesam.android.study.lollipop.v7.toolbar.ToolbarActivity)
Android分享 Q羣:315658668