gpt4 book ai didi

Android 浅色/深色主题操作栏文本

转载 作者:行者123 更新时间:2023-11-29 22:50:57 26 4
gpt4 key购买 nike

我正在我的 playground Android 应用中实现一个深色主题,并且正在努力将操作栏文本颜色设置为白色。

以下是我的风格和颜色。操作栏的背景沿用了colorPrimary,很棒。然而,两种颜色(浅色和深色)都是非常深的颜色,并且希望操作栏文本颜色始终为白色。由于我现在使用 DayNight.NoActionBar 作为父级,因此它是黑色的,白色的,黑色的。我有几个不同的操作栏实例,所以我宁愿不必更改每个单独的实例,而只是在样式中定义它。我该怎么做?

样式.xml

<style name="DarkThemeApp" parent="@style/Theme.MaterialComponents.DayNight.NoActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="colorError">@color/colorError</item>
<item name="android:textColor">?android:attr/textColorPrimary</item>
</style>

夜晚\colors.xml

<resources>
<color name="colorPrimary">#3d85c6</color>
<color name="colorPrimaryDark">#002e72</color>
<color name="colorAccent">#e66f00</color>
<color name="colorYellow">#FFE800</color>
<color name="colorError">#E53935</color>
</resources>

值\颜色.xml

<resources>
<color name="colorPrimary">#00348e</color>
<color name="colorPrimaryDark">#002e72</color>
<color name="colorAccent">#e66f00</color>
<color name="colorYellow">#FFE800</color>
<color name="colorError">#E53935</color>
</resources>

最佳答案

使用 Material 主题,您可以通过不同的选项来自定义 工具栏

中使用的文本颜色
  • 使用 android:theme 只为您的 Toolbar
  • 覆盖默认值
<com.google.android.material.appbar.MaterialToolbar
android:theme="@style/MyThemeOverlay_Toolbar"
...>

并使用:

  <style name="MyThemeOverlay_Toolbar" parent="ThemeOverlay.MaterialComponents.Toolbar.Primary">
<!-- color used by the toolbar title -->
<item name="android:textColorPrimary">@color/secondaryColor</item>
<!-- color used by navigation icon and overflow icon -->
<item name="colorOnPrimary">@color/secondaryColor</item>
</style>
  • 在您的工具栏中设置样式
<com.google.android.material.appbar.MaterialToolbar
style="@style/MyToolbar"
.../>

然后使用materialThemeOverlay覆盖默认值(需要 Material 组件库1.1.0版本):

  <!-- Toolbar -->
<style name="MyToolbar" parent="Widget.MaterialComponents.Toolbar">
<item name="materialThemeOverlay">@style/MyThemeOverlay_Toolbar</item>
</style>

<style name="MyThemeOverlay_Toolbar" parent="">
<item name="android:textColorPrimary">@color/secondaryColor</item>
<item name="colorOnPrimary">@color/secondaryColor</item>
</style>

enter image description here enter image description here

关于Android 浅色/深色主题操作栏文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57928967/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com