新增工具欄

ToolbarActionBar 的推廣,用於應用程式佈局。雖然 ActionBar 傳統上是由框架控制的 Activity's 不透明視窗裝飾的一部分,但是 Toolbar 可以放置在檢視層次結構內的任何任意巢狀級別。可以通過執行以下步驟新增它:

  1. 確保在依賴項下的模組(例如 app) build.gradle 檔案中新增以下依賴項:

    compile 'com.android.support:appcompat-v7:25.3.1'
    
  2. 將應用的主題設定為沒有 ActionBar 的主題。為此,請在 res/values 下編輯 styles.xml 檔案,並設定 Theme.AppCompat 主題。
    在這個例子中,我們使用 Theme.AppCompat.NoActionBar 作為你的 AppTheme 的父級:

    <style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
        <item name="colorPrimary">@color/primary</item>
        <item name="colorPrimaryDark">@color/primaryDark</item>
        <item name="colorAccent">@color/accent</item>
    </style>
    

    你也可以使用 Theme.AppCompat.Light.NoActionBarTheme.AppCompat.DayNight.NoActionBar,或任何其他本身沒有 ActionBar 的主題

  3. Toolbar 新增到你的活動佈局:

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        android:elevation="4dp"/>
    

    Toolbar 下方,你可以新增其餘的佈局。

  4. 在你的 Activity 中,將 Toolbar 設定為此 ActionBarActionBar。如果你正在使用 appcompatAppCompatActivity,那麼你將使用 setSupportActionBar() 方法:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    
        final Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
    
        //...
    } 
    

執行上述步驟後,你可以使用 getSupportActionBar() 方法來操作設定為 ActionBarToolbar

例如,你可以設定標題,如下所示:

getSupportActionBar().setTitle("Activity Title");

例如,你還可以設定標題和背景顏色,如下所示:

CharSequence title = "Your App Name";
SpannableString s = new SpannableString(title);
s.setSpan(new ForegroundColorSpan(Color.RED), 0, title.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
getSupportActionBar().setTitle(s);
getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.argb(128, 0, 0, 0)));