我正在为我的应用程序尝试对 Android 10 的深色模式主题支持。除了 App Launcher Icon,我可以在黑暗模式下使用所有其他东西。
作为参考,我使用下面的链接
https://developer.android.com/guide/topics/ui/look-and-feel/darktheme
我知道根据日/夜主题更改没有提到应用程序图标更改。
只是为了确认,需要您的所有输入,才能根据主题从正常到黑暗的变化来更改应用程序图标,反之亦然。
提前致谢。
我正在为我的应用程序尝试对 Android 10 的深色模式主题支持。除了 App Launcher Icon,我可以在黑暗模式下使用所有其他东西。
作为参考,我使用下面的链接
https://developer.android.com/guide/topics/ui/look-and-feel/darktheme
我知道根据日/夜主题更改没有提到应用程序图标更改。
只是为了确认,需要您的所有输入,才能根据主题从正常到黑暗的变化来更改应用程序图标,反之亦然。
提前致谢。
您是否检查过文档中的主题和样式部分?
您的主题和样式应避免使用硬编码颜色或用于浅色主题的图标。您应该改用主题属性(首选)或夜间限定资源。
以下是需要了解的两个最重要的主题属性:
?android:attr/textColorPrimary
这是一种通用的文本颜色。它在 Light 主题中接近黑色,在 Dark 主题中接近白色。它包含禁用状态。
?attr/colorControlNormal
一种通用的图标颜色。它包含禁用状态。
因此?android:attr/textColorPrimary
and?attr/colorControlNormal
将根据主题(黑色 -> 白色和白色 -> 黑色)而变化。我假设我们可以将这些颜色设置为android:tint
属性,以实现矢量图标的暗/白主题。缺点是你的图标只需要是黑白的。
在 Android 中实现图标的暗模式:
<vector android:height="24dp" android:tint="?attr/colorPrimaryDark" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp"
图片:
不,应用程序图标不支持深色模式。
除了应用图标,其他图片颜色可以修改:
尝试使用
android:drawableTint="@color/black"
或者
app:tint="@color/black"
[
通过按 ALT+Enter 或使用以下命令添加 xml 导入:
xmlns:app="http://schemas.android.com/apk/res-auto"
]
与您想要的图像。
更新:
或者只是使用:
ivMyImageView.setColorFilter(ActivityCompat.getColor(context, android.R.color.holo_green_light))
PS:(属性drawableTint仅在API 23及更高级别使用)
我认为有可能,只是启动器不支持显示它。
values-night
顺便说一句,我在and中创建了新的颜色资源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 手机上的 Android 11 上进行了测试(使用 Google Launcher )。
还有谁?
尝试在源代码中添加mipmap-anydpi-v26
&mipmap-night-anydpi-v26
图标。我试图添加,但有点错误。我理论图标支持深色主题 XD
这是一个例子
好吧,您可以使用 ure 资源颜色。添加夜间模式变化(右键单击值,新建 -> 值资源文件,设置文件名“颜色”和限定符“夜间模式”。如果需要,您可以专门进行可绘制的变化。
主要缺点 - 它并不真正稳定。我不知道是不是只有我一个人,但我在模拟器中出现了奇怪的行为(抱歉,现在无法在设备上测试)。安装图标设置为正确模式后,但当您更改为其他图标时,它不会更新。但是,当您尝试使用当前主题变体移动图标时。