深色主题和浅色主题问题——android studio(夜间)

Posted

技术标签:

【中文标题】深色主题和浅色主题问题——android studio(夜间)【英文标题】:Dark theme and light theme problem - android studio (night) 【发布时间】:2021-12-21 11:44:43 【问题描述】:

我会尽量详细解释,请帮忙。我打开了一个新项目,在新项目中“主题”部分打开了两次,一亮一暗。我在应用程序中添加了黑色文本,文本看起来是白色的,因为我的手机是深色主题。这很好,但难以理解。我只有一个 color.xml 文件(不适用于夜间版本) 文本如何变为白色?这很好,但我添加的图标(矢量‚xml)并赋予它灰色‚但现在它无法理解。图标的颜色在黑暗中从灰色变为黑色。我想让他变成白色。我还为 Colors.xml 打开了一夜。现在我认为不会有错误,一切都没有改变。他们的夜色越来越黑。

    如何使图标(矢量‚xml)在浅色主题中为灰色,在深色主题中为白色? 我有一个深色和浅色“主题”文件,我必须将“颜色”分成深色和浅色主题吗?

希望我能解释一下,非常感谢!

【问题讨论】:

我认为您必须保留该图标的两个实例,一个暗,一个亮。检查您的 android 主题 developer.android.com/guide/topics/ui/look-and-feel/… 请改用 ?android:attr/colorBackground 主题属性。请注意,深色主题的 android:windowBackground 可绘制对象仅适用于 Android 10 【参考方案1】:

文本的颜色已变为白色,因为您没有设置颜色,并且它继承自默认的 android 设置。

如果您想根据主题更改(自定义)颜色,我建议您覆盖夜间模式的 colors.xml 文件。

为你的图标声明你想要的颜色。

colors.xml

  <color name="iconColor">#FF808080</color>

colors.xml(夜间)

  <color name="iconColor">#FFFFFFF</color>

在你的drawable中,你必须设置这个新颜色。

 android:fillColor="@color/iconColor"

将其他颜色(primary、primaryLight 等)覆盖为更亮的变体也是一件好事。

如果你想练习在android上改变的主题,你可以练习here(这是在Kotlin,但同样的课程也存在于Java中)。

【讨论】:

以上是关于深色主题和浅色主题问题——android studio(夜间)的主要内容,如果未能解决你的问题,请参考以下文章

windowbackground 在深色和浅色主题中不起作用

如何在 Storybook 6.0 中自定义深色和浅色主题

如何在 VSCode 用户设置中为深色和浅色主题指定颜色

ionic 5 强制浏览器应用的浅色主题

程序员的IDE到底是浅色主题好还是深色主题好?

如何在 Qt C++ 中根据主题更改图标?如果可用的主题是深色或浅色