【发布时间】: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
就这个:<style name="ThemeOverlay.AppCompat.Dark.ActionBar" parent="Base.ThemeOverlay.AppCompat.Dark.ActionBar"/>
然后我回溯到代码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。
所以我创建了一个新样式,并将其与
<item name="colorControlNormal">..my Color..</item>.但我错了。
所以我想知道我应该通过更改一个或多个属性而不是使用android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 来使后退图标的颜色变为白色。
【问题讨论】:
标签: android android-layout material-design