一、在布局文件中引入 Toolbar
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:background="@color/colorTransparent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:subtitleTextAppearance="@style/Theme.Toolbar.SubTitle"
app:titleTextAppearance="@style/Theme.Toolbar.Title"
app:popupTheme="@style/OverflowMenuStyle"
>
</android.support.v7.widget.Toolbar>
二、将主题改为 NoActionBar
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
</style>
三、在布局文件中启用 Toolbar
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
四、设置标题和标题的背景
Toolbar 可以设置父标题的背景和子标题的背景
1. 在 style 文件中设置主题
<style name="Theme.Toolbar.Title">
<item name="android:textSize">14sp</item>
<item name="android:textColor">@color/colorWhite</item>
</style>
<style name="Theme.Toolbar" parent="ThemeOverlay.AppCompat.ActionBar"></style>
<!--Toolbar 副标题的字体和颜色-->
<style name="Theme.Toolbar.SubTitle">
<item name="android:textSize">12sp</item>
<item name="android:textColor">@color/colorWhite</item>
</style>
2. 在 xml 中给 toolbar 引用主题
分别给子 Title 和 父 Title 设置主题
app:subtitleTextAppearance="@style/Theme.Toolbar.SubTitle"
app:titleTextAppearance="@style/Theme.Toolbar.Title"
3. 设置主 Title 和子 Title
在 View 中设置
toolbar.setTitle("")
toolbar.setSubtitle("")
4.设置返回按钮的图片
toolbar.setNavigationIcon(R.drawable.icon_back)
五、设置返回按钮的参数
**因为 toolbar 没有对外提供这个接口,所以需要用反射的方式修改它的参数。而返回按钮在 Toolbar 中属于一个 mNavbuttonView 的对象 **
Field backbutton = toolbar.getClass().getDeclaredField("mNavButtonView")
backButton.setAccessible(true);
// 修改想要的参数
网友评论