深色主题和浅色主题问题——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(夜间)的主要内容,如果未能解决你的问题,请参考以下文章