【问题标题】:how to change the color of materialToolbar in CollapsingToolbarLayout?CollapsingToolbarLayout中如何改变materialToolbar的颜色?
【发布时间】:2021-02-24 14:47:54
【问题描述】:

这是我的布局

<com.google.android.material.appbar.AppBarLayout
        android:id="@+id/app_bar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <com.google.android.material.appbar.CollapsingToolbarLayout
            android:id="@+id/coll_toolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <com.google.android.material.appbar.MaterialToolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize">

            </com.google.android.material.appbar.MaterialToolbar>

        </com.google.android.material.appbar.CollapsingToolbarLayout>

</com.google.android.material.appbar.AppBarLayout>

如果此布局不是第一个活动/片段,工具栏将有一个后退图标。

但是后退图标的颜色是黑色的。

我希望它是白色的。

我在github上搜索过,但什么都没有。

我在谷歌上找到了演示,他们使用代码android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"CollapsingToolbarLayout。然后后退图标的颜色将是白色。

我想知道发生了什么?

我回溯到代码android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"。我发现 它的父母是Base.ThemeOverlay.AppCompat.Dark.ActionBar

就这个:&lt;style name="ThemeOverlay.AppCompat.Dark.ActionBar" parent="Base.ThemeOverlay.AppCompat.Dark.ActionBar"/&gt;

然后我回溯到代码Base.ThemeOverlay.AppCompat.Dark.ActionBar。我发现 它没有父级,它实现了代码

<item name="colorControlNormal">?android:attr/textColorPrimary</item>
        
<item name="searchViewStyle">@style/Widget.AppCompat.SearchView.ActionBar</item>

就这个:

 <style name="Base.ThemeOverlay.AppCompat.Dark.ActionBar">
    <item name="colorControlNormal">?android:attr/textColorPrimary</item>
    <item name="searchViewStyle">@style/Widget.AppCompat.SearchView.ActionBar</item>
</style>

所以我认为关键是colorControlNormal

所以我创建了一个新样式,并将其与 &lt;item name="colorControlNormal"&gt;..my Color..&lt;/item&gt;.但我错了。

所以我想知道我应该通过更改一个或多个属性而不是使用android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 来使后退图标的颜色变为白色。

【问题讨论】:

    标签: android android-layout material-design


    【解决方案1】:

    您正在使用材质组件库中的 MaterialToolbar 小部件。
    您可以使用 app:navigationIconTint 指定后退箭头颜色。
    这是文档https://material.io/components/app-bars-top/android#using-top-app-bars

    【讨论】:

    • 哦,不只是后退图标的颜色。我也想改变工具栏中内容的颜色...
    • 也许有一些方法可以通过一两行代码完成我的需要。
    • 你的意思是工具栏的背景色吗?您可以尝试使用 android:background 将颜色应用于 AppBarLayout 和 MaterialToolbar。
    • 没有背景。我的意思是像图标的颜色,文本视图的颜色......
    猜你喜欢
    • 2022-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-23
    • 1970-01-01
    • 2021-08-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多