一、基本使用
1.XML设置:
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/design_default_color_primary"
android:theme="@style/Theme.PopupwindowTest"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
当然还有其它属性例如:
app:navigationIcon="@drawable/xxx"//左箭头图标
app:subtitle="子标题"
app:title="标题"
2.如果想要用ActionBar的一些特性的话,在代码中添加:
setSupportActionBar(toolbar)
3.配合menu使用:
第一步,创建menu文件夹以及menu文件,右击res->New->Directory,创建名为menu的文件夹。然后右击menu文件夹->New->Menu resource file,创建menu.xml文件(文件名随意取)。
代码如下:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_search"
android:icon="@drawable/ic_baseline_search_24"
android:title="Search"
app:showAsAction="ifRoom" />
<item
android:id="@+id/action_notifications"
android:icon="@drawable/ic_baseline_delete_24"
android:title="notifications"
app:showAsAction="ifRoom" />
</menu>
其中:showAsAction属性:
ifRoom 表示在屏幕空间足够的情况下显示在Toolbar中,不够的话就显示在菜单中 never
表示永远不显示在Toolbar中,而是一直显示在菜单中 always 表示永远显示在Toolbar中,如果屏幕空间不够则不显示
代码中加载该menu文件:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu,menu);
return super.onCreateOptionsMenu(menu);
}
注意:Toolbar中的action按钮只会显示图标,菜单中的action按钮只会显示文字。
效果如下: