问题标签 [android-dark-theme]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
5462 浏览

android - 如何在 Android 应用上自动切换到暗模式?

我正在制作一个 Android 应用程序。我为黑暗模式制作了另一个 UI。所以这就是我需要的;该应用程序将在当地时间自动切换到深色主题。例如,当太阳下山时,应用程序将切换到暗模式。

或者另一种选择是通过一天中的预设时间切换到暗模式。希望你能理解我的问题。如果有人知道,请帮助我,如果可能的话,我更喜欢第一个选项。提前致谢。

0 投票
1 回答
1700 浏览

android - 偏好片段中的图标不适应夜间模式

我正在编写一个 android 应用程序并想做一个 SettingsActivity。我遇到的问题是我的矢量可绘制对象无法使其颜色适应夜间或白天主题。

ic_palette_black_24dp.xml:

值/colors.xml:

值夜/colors.xml:

在我的 root_preferences.xml 中:

[编辑]

这里还有我的 SettingsActivity.java,它基本上是 AndroidStudio 的默认设置:

[/编辑]

正如您在root_preferences.xml中看到的那样,我已经尝试设置它android:tint=""android:tintMode=""但无论我做什么,图标颜色都保持白色。在其他活动中,解决方法android:tint=""确实有效。

我希望有人可以帮助我。谢谢

0 投票
1 回答
5970 浏览

android - Android:如何为暗模式切换主题?

从 Android 10 开始,您可以在暗模式和默认亮模式之间切换。我还没有对此进行任何更深入的研究,因为这是一个新话题。暗模式颜色切换是否由操作系统自动切换,或者如果开启暗模式,是否有办法告诉我的应用程序切换不同的应用程序主题?某些 Android 9 设备也可以使用暗模式。

因为我使用自定义参数制作了自定义深色主题,并且我为资源中的每种颜色设置了深色(使用自定义属性attrs.xml并将特定颜色资源应用于主题中的主题styles.xml)。同样,它适用于我的应用程序的不同配色方案(例如蓝色、红色、绿色)。这样我就可以知道哪种颜色将用于我的应用程序而不是系统中的不同视图。

我唯一需要的是检测系统中的暗模式是否打开/关闭。我可以强制用户在应用设置(自定义设置)中打开暗模式,但主题可能会受到系统暗模式(在电话设置中打开)的影响。

0 投票
1 回答
191 浏览

android - 如何在 Android 中限制特定 Flavor 的暗模式

我有一个支持暗模式的多种口味的应用程序。每种风格都从 /main/res 目录的 drawable-night 和 values-night 文件夹中获取深色主题资源。

我现在想限制特定应用风格的暗模式。

第一个解决方案:每个活动在 android:configChanges 属性中都有 uiMode。第二种解决方案:从 /main/res 中删除 drawable-night 和 values-night 并将其保留为支持它的风味。

有没有其他解决方案可以帮助我通过几行代码来限制暗模式以获得风味?

0 投票
1 回答
262 浏览

android - 如何检查 Android 操作系统中是否存在深色主题?

官方在 Android 10 中提供深色主题,但实际上,例如在 Android 9 MIUI 11 中提供深色主题。有没有办法以编程方式检查 OS 深色主题是否可用?我试图通过该Configuration#uiMode字段进行检查:

但它不起作用,对于 Android 5 它返回true

0 投票
3 回答
1346 浏览

flutter - Flutter 的深色模式颜色

在网站material.io中写道:

要创建品牌深色表面,请以低不透明度覆盖推荐的深色主题表面颜色 (#121212) 上的主要品牌颜色。颜色 #1F1B24 是深色主题表面颜色 #121212 和8% Primary color组合的结果。

品牌颜色

我的问题是:

  1. 如何计算我的颜色的 8%?
  2. 如何在Flutter中实现这个覆盖的东西?
0 投票
1 回答
1608 浏览

image - 如何在颤动中使用暗模式和不同分辨率的资产图像?

我在我的颤振项目中使用具有不同分辨率的图像,如此处所述。现在我想为暗模式主题添加自定义图像。我在 pubspec.yaml 中的资产声明如下所示:

我的资产结构:

我以这种方式在项目中加载图像:

我知道对于简单的单色图像,我可以像这样改变它的颜色:

但是我的大多数图像都比较复杂,所以我必须为它们加载自定义资产。

正如这里所描述的,我可以在添加暗模式资产后离开 pubspec 而无需任何更改。我已经为暗模式尝试了不同的资产结构,但它们都不起作用。

1:

2:

3:

单个图像的解决方案是像这样加载它:

但这对整个项目来说并不是一个方便的解决方案。

奇怪的是,在 2 个变体应用程序中加载了深色图像:浅色和深色主题(在 iPhone 和 Android 上测试)。

所以问题是:暗模式和分辨率感知图像资产的文件结构应该是什么样的?

0 投票
2 回答
728 浏览

java - 设置列表首选项后,为什么我的应用程序不会更改为暗模式 (Android Q)?

我在使用 Android 开发人员指南的设置中有一个 listpreference,但是当用户选择浅色或深色时,应用程序主题不会改变。

根首选项:

数组:

还有我的 SettingsFragment 应该改变主题的地方:

日志输出给出值“Light”或“Dark”,但主题本身不会改变。我究竟做错了什么?

此外,我正在尝试为 Android 9 及更低版本的深色主题实现创建另一个列表首选项,因此假设我的数组值相同,我必须在 SettingsFragment 中更改什么才能使其工作?

0 投票
0 回答
1085 浏览

android - 带有透明状态栏的 Android 抽屉式导航暗模式

我在我的应用程序中使用导航抽屉,并尝试实现深色主题。当应用程序没有覆盖整个屏幕并且状态栏不透明时,navigationView会自动着色为深色。但是当应用程序覆盖整个屏幕并且状态栏是透明的时,navigationView保持白色。即使应用程序覆盖整个屏幕并且状态栏是透明的,如何强制导航视图变暗?

我没有明确设置背景颜色或文本颜色,它使用默认值。

这是它的行为方式

布局代码如下所示:

Activity 使用透明状态栏使其全屏显示的样式如下所示:

最后在活动的清单中应用主题并将fitsSystemWindows设置为true:

0 投票
2 回答
450 浏览

java - 如何让暗模式在我的应用程序上运行?

我已经为用户的暗模式偏好设置了一个具有不同值的 ListPreference。现在,我只想让应用程序与 Android Q 中引入的新暗模式实现一起工作。如果我设置系统暗模式,应用程序会更改,因为我启用isforcedarkallowedstyles.xml.

设置片段:

Arrays.xml(暗模式首选项的值)

我的列表偏好:

我正在使用的应用程序主题(styles.xml):

有什么建议么?