1.作用:导航控件—显示标题 导航back 快捷 菜单的操作。而且toolBar不一定要放在顶部也是可以放在底部。
toolbar来自android.support.v7.widget.Toolbar
它是继承在ViewGroup,在xml布局中能够存放其他的view控件
具有很多的自定义的属性
不能使用android:title的属性,设置了没有效果,要是用app自定义的属性
2.使用的时候要修改app的主题
parent="Theme.AppCompat.light.NoActionBar"
要使用NoActtionBar,因为默认的时候就有个一个ActionBar
Activity----要用AppCompatActivity
使用ToolBar来进行替换ActionBar 即为 setSupportActionBar(toolbar)
ToolBar使用的colorPrimary colorPrimaryDark的颜色
在xml中的toolbar中进行设置颜色 android :background="?attr/colorPrimary"
现在就是统一的使用了。并且自动实现了沉浸式的状态栏
3.自定义的属性
app:title
app:subtitle
app:logo 这个显示在tltle左面的图标
app:navigationLogo 这个可以进行进行设置返回键
app:titleTextColor
app:subtitleTextColor
app:popupTheme="@style/ThemeOverlay.Appcompat.Dark" 这个属性是设置optionsMenu的弹出的效果 一共有两种
app;popupTheme="@style/ThemeOverlay.AppCompat.Light" 是进行设置成白底黑字
app:popupTheme="@style/ThemeOverlay.AppCompat.Dark"是设置成黑底白字
要在res中创建menu文件夹,然后创建menu文件
在menu菜单的时候也是有问题,不能在弹出的menu菜单中显示图片,但是可以将图片的效果显示在toolbar上,使用的是自定义的的属性app:showAsAction=“always”
<?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"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.ricky.materialdesign.toolbar.MainActivity">
<!--这里的icon没有效果 ,不能显示在弹出的menu菜单中-->
<item
android:id="@+id/action_settings"
android:icon="@android:drawable/ic_menu_share"
android:title="设置"
app:showAsAction="never" />
<!--这里的icon是有效果的-->
<item
android:icon="@android:drawable/ic_menu_share"
android:title="电话"
app:showAsAction="always" />
</menu>
进行监听navigationLogo
toobar.setNavigationListener(new OnclicLstener(){
//进行监听
..........
});
设置在toolbar上的搜索按钮
demo:
https://github.com/yunzheyue/toolbartest