在底层,所有通过主题得到应用条的活动都使用ActionBar类实现它的应用条。不过最新的应用条特性已经增加到AppCompat支持库中的Toolbar类。这意味着,如果你想在应用中使用最新的应用条特性,就需要使用支持库中的ToolBar类。
如何增加工具条
1、增加v7 AppCompat支持库作为一个依赖库。Toolbar类就在这个库中。
在最新版AS中已经包含了这个库。
2、确保你的活动扩展AppCompatActivity类。
3、删除现有的应用条。将主题替换为一个没有应用条的主题即可,例如NoActionBar。
4、为布局增加一个工具条。
工具条是一个视图类型,所以可以把它放在你希望的任何位置,并控制它的外观。
5、更新活动,设置这个工具条作为活动的应用条。
为布局增加工具条
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
tools:ignore="MissingConstraints" />
或者把工具条定义为一个单独的布局,在主布局中将其包含进去即可。
把工具条定义为一个单独的布局,并在活动布局中包含进去
创建一个名为toolbar_main.xml的布局。使用如下代码替换默认代码:
<?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
</androidx.appcompat.widget.Toolbar>
然后在主布局中使用如下代码包含进去
<include
layout="@layout/toolbar_main"
android:id="@+id/toolbar"
/>
设置工具条作为活动的应用条
在MainActivity的oncreate中添加下面两行代码即可:
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
运行最后的效果如图所示: