新增工具欄
Toolbar
是 ActionBar
的推廣,用於應用程式佈局。雖然 ActionBar
傳統上是由框架控制的 Activity's
不透明視窗裝飾的一部分,但是 Toolbar
可以放置在檢視層次結構內的任何任意巢狀級別。可以通過執行以下步驟新增它:
-
確保在依賴項下的模組(例如 app) build.gradle 檔案中新增以下依賴項:
compile 'com.android.support:appcompat-v7:25.3.1'
-
將應用的主題設定為沒有
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.NoActionBar
或Theme.AppCompat.DayNight.NoActionBar
,或任何其他本身沒有ActionBar
的主題 -
將
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
下方,你可以新增其餘的佈局。 -
在你的
Activity
中,將Toolbar
設定為此ActionBar
的ActionBar
。如果你正在使用 appcompat 庫和AppCompatActivity
,那麼你將使用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()
方法來操作設定為 ActionBar
的 Toolbar
。
例如,你可以設定標題,如下所示:
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)));