我正在为我的应用尝试Android 10的黑暗模式主题支持。 除了应用启动器图标,我还可以在黑暗模式下使用所有其他功能。
作为参考,我正在使用下面的链接
https://developer.android.com/guide/topics/ui/look-and-feel/darktheme
我知道每天/夜晚主题更改中都没有提及应用图标更改。
只是为了确认,需要您所有的输入才能将应用程序图标根据主题的更改从正常更改为暗,反之亦然。 >
谢谢。
答案 0 :(得分:1)
否,该应用程序图标不支持暗模式。
答案 1 :(得分:0)
您是否已查看文档中的主题和样式部分?
您的主题和样式应避免使用硬编码的颜色或图标 用于浅色主题。您应该使用主题属性 (首选)或夜间限定资源。
以下是要了解的两个最重要的主题属性:
?android:attr/textColorPrimary
这是一种通用的文本颜色。浅色主题为近黑色,深色主题为近白。它包含一个禁用状态。
?attr/colorControlNormal
通用图标颜色。它包含一个禁用状态。
因此?android:attr/textColorPrimary
和?attr/colorControlNormal
将根据主题(黑色->白色和白色->黑色)而变化。我假设我们可以将这些颜色设置为android:tint
属性,以实现矢量图标的深色/白色主题。缺点是您的图标只需要是黑白的。
答案 2 :(得分:0)
好吧,您可以使用ure资源颜色。添加夜间模式变化(右键单击值,新建->值资源文件,设置文件名“颜色”和限定符“夜间模式”。您可以根据需要专门进行可绘制的变化。
主要缺点-它并不是很稳定。我不知道是否只有我一个人,但是我在模拟器中得到了奇怪的行为(对不起,目前无法在设备上进行测试)。安装图标后立即将其设置为正确的模式,但是当您更改为其他图标时,它不会更新。但是,当您尝试使用当前主题变体移动图标时。
答案 3 :(得分:0)
我认为有可能,只是启动器不支持显示它。
顺便说一句,我在values-night
和values
中创建了新的颜色资源,例如:
<!-- values-night/colors.xml -->
<color name="icon_background">#000000</color>
<!-- values/colors.xml -->
<color name="icon_background">#FFFFFF</color>
然后将背景色设置为应用图标:
<!-- mipmap/ic_launcher.xml -->
...
<background android:drawable="@color/icon_background" />
...
<!-- mipmap/ic_launcher_round.xml -->
...
<background android:drawable="@color/icon_background" />
...
现在,当切换黑暗模式时,应用程序的图标会更改...,但仅适用于应用程序夹板(窗口顶部显示图标),但lancher不会更新... 我已经在Pixel 4XL手机(使用Google启动器)上的Android 11上进行了测试。
还有其他人吗?
答案 4 :(得分:0)
要在Android中实现图标的暗模式:
<vector android:height="24dp" android:tint="?attr/colorPrimaryDark" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp"
图片:
答案 5 :(得分:0)
尝试在您的源代码中添加 mipmap-anydpi-v26
和 mipmap-night-anydpi-v26
图标。我试图添加但有点问题。 I 理论图标支持深色主题 XD
Here is an example