Android控件

Android:关于Toolbar的样式

2018-03-31  本文已影响0人  今夜相思又几许

前言

早就已经抛弃Android中的ActionBar已经很久了,现在在v7中的Toolbar已经爬坑很久了。对于它的样式,也是用到的时候才会去查一下,但是有时候百度查的时候也是很麻烦,需要很久,索性就把常用到的样式给记录下来,以备不时之需,到时可直接复制粘贴大法到自己的项目中去了。废话不多说了,GETING START!!!

常用的两种样式

设置toolbar的主题:android:theme="@style/......."

白色标题的样式

白色标题样式 overflow menu打开时
    <style name="ToolbarThemeWhite" parent="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
        
    </style>

黑色标题的样式

黑色标题样式 overflow menu打开时
    <style name="ToolbarThemeBlack" parent="@style/ThemeOverlay.AppCompat.ActionBar">
        
    </style>

上边两种样式是黑白标题的两种样式默认的显示情况。

修改标题栏的颜色

有时候标题栏的颜色并不符合我们的要求,我们就修改下标题栏的颜色
在白色样式上进行修改,标题文字,navigation icon,overflow button,overflow menu的文字

修改标题栏颜色 修改标题栏颜色后的overflow menu
    <style name="ToolbarThemeWhite" parent="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
        <item name="android:textColorPrimary">#09bb07</item>
        <item name="subtitleTextColor">#09bb07</item>
    </style>

<item name="subtitleTextColor">#09bb07</item>这行主要是修改副标题的字体颜色
可以看到,除了overflow menu 的背景颜色没有改变 其他的字体颜色都会改变

OverflowMenu的样式

添加OverflowMenu样式为app:popupTheme="@style/......."

Toolbar两种不同的主题,对应的OverflowMenu样式也不同。白色的对应是黑色背景、白色字体;黑色对应的是白色背景,黑色字体。

黑色背景 白色字体

    <style name="ToolbarThemeWhite.OverFlowMenuTheme" parent="ThemeOverlay.AppCompat.Dark">

    </style>

白色背景 黑色字体

    <style name="ToolbarThemeBlack.OverFlowMenuTheme" parent="ThemeOverlay.AppCompat.Light">

    </style>

注意:添加上OverflowMenu的样式后,之前修改标题栏字体颜色对菜单的字体颜色就不起作用了,需要重新在OverflowMenu的样式上定义字体颜色了

修改OverflowMenu样式

在白色标题基础上修改菜单样式
    <style name="ToolbarThemeWhite.OverFlowMenuTheme" parent="ThemeOverlay.AppCompat.Light">
        <!--修改菜单的字体颜色-->
        <item name="android:textColor">#06bb02</item>
        <!--修改菜单的背景颜色-->
        <item name="android:background">#ff705e</item>
        <!--修改菜单的字体大小-->
        <item name="android:textSize">16sp</item>
    </style>

最后,写出黑色、白色的主题和黑色、白色的菜单

toolbar主题

黑色标题

    <style name="ToolbarThemeBlack" parent="@style/ThemeOverlay.AppCompat.ActionBar">
        
    </style>

白色标题

    <style name="ToolbarThemeWhite" parent="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

    </style>

popwindow样式

黑色背景

    <style name="ToolbarThemeWhite.OverFlowMenuTheme" parent="ThemeOverlay.AppCompat.Dark">

    </style>

白色背景

    <style name="ToolbarThemeBlack.OverFlowMenuTheme" parent="ThemeOverlay.AppCompat.Light">

    </style>

常用的白色标题及白色背景menu的Toolbar

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?actionBarSize"
    android:background="@color/colorPrimary"
    app:navigationIcon="?attr/homeAsUpIndicator"
    android:theme="@style/ThemeToolbarWhite"
    app:popupTheme="@style/ThemeToolbarBlack.OverFlowMenuTheme"
    app:layout_collapseMode="pin"
    app:layout_scrollFlags="scroll|enterAlways">
</android.support.v7.widget.Toolbar>
上一篇 下一篇

猜你喜欢

热点阅读