问题标签 [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 投票
0 回答
604 浏览

android - 为小部件布局触发 Android 10 主题更新

随着 Android 10 的发布,一些小部件(Gmail、Google 新闻、三星电子邮件)现在会在切换深色模式时更新其主题。我正在尝试复制这种行为。我有一个带有 AppWidgetProvider 和 RemoteViewsFactory 的列表视图小部件。但是,当切换暗模式时,ListView 项目切换到暗主题,而不是布局本身:

暗模式关闭:

暗模式关闭

暗模式开启:

开启黑暗模式

在我的代码中,我在 AppWidgetProvider 的 OnUpdate() 方法中设置布局:

切换暗模式时不会调用 onUpdate。但是,当切换暗模式时,我似乎找不到在 AppWidgetProvider 中调用的任何方法,因此我不确定在哪里调用新的布局构建,甚至不确定何时需要进行更改。

任何帮助将非常感激。

0 投票
3 回答
3678 浏览

java - 应用程序完全关闭时如何在android中保存暗模式状态

我有一个小问题。当我在我的应用程序中打开暗模式然后在 android 中完全关闭我的应用程序时,当我重新打开它时,它会返回到亮模式。我使用 AppCompatDelegate 来做到这一点。我有一个带有开关的设置片段,可以打开或关闭暗模式,效果很好。我在那个片段上有一个共享的开关偏好,它可以工作。唯一的问题是应用程序的其余部分在完全关闭后重新打开后不会停留在暗模式。当我关闭重新打开它时,有没有办法可以保存然后恢复暗模式?

这是我的 MainActivity 代码:

这是我的 SettingsFragment 代码:

0 投票
1 回答
32 浏览

android - 如果应用主题与系统主题不同,则无法正确加载

我有一个问题,我的应用程序中有两个主题。深色主题和浅色主题

问题是如果我将应用主题设置为与系统主题不同,则应用主题无法正确加载。

Light 主题继承自:

和黑暗主题继承自:

例如,如果系统主题是浅色的,而应用程序主题使用继承自“Theme.MaterialComponents.NoActionBar”的深色主题,则主题将无法正确呈现,反之亦然。

我正在使用 values-night 目录,其中包含深色主题中使用的所有颜色。

0 投票
1 回答
676 浏览

react-native - React-native:有没有办法听颜色方案(暗模式)的变化?

官方指南建议检查是否在每个组件渲染上启用了深色主题。这似乎大错特错。有没有更好的方法让暗模式保持最新状态?

0 投票
1 回答
459 浏览

java - 应用程序在设置 Android Studio 中的 PreferenceSwitch 后冻结

我从 Android Studio 进行了设置活动,而不是手动进行。我想做一个在应用程序中应用暗模式的开关。问题是,当我单击开关时,没有移动动画,只有应用程序闪烁。当我返回主活动时,我看到主题已应用(我之前只尝试过主活动),但是当我尝试返回设置时,一切都被冻结了!什么都不能点击,完全没有反应。这是我的 Java 代码:

这是 root_preferences.xml:

这是应用主题后的Logcat:

我想可能是因为我应用主题后没有再次启动活动,因为当我在main_activity中尝试暗模式时,有两行,在我的设置活动中无法放置,因为类是静态的.. 。 请帮忙!

0 投票
1 回答
1801 浏览

android - UninitializedPropertyAccessException:lateinit 属性设置活动尚未初始化

我想调用FunctionintoMainActivityError发生这样的情况:

MainActivity.kt

设置活动.kt

}

SharefPref.kt

}

活动设置

0 投票
1 回答
801 浏览

android - 使用 Theme.MaterialComponents.DayNight.NoActionBar 时,深色主题颜色上的溢出菜单错误

我正在使用 MaterialDesign网站上描述的指南中的实现

无论我尝试什么,菜单文本颜色和本机菜单图标(如展开菜单图标)都是错误的颜色,特别是它们似乎是浅色模式颜色。我希望它们是深色主题文本(深色表面上的白色文本和本机菜单图标)。

其他方面都很好,例如工具栏、卡片视图、文本和其他表面。

据我了解,这应该无需任何代码修改即可工作,并且当出现在库存溢出菜单的“表面”上时,文本颜色应自动更改为浅色。

我不相信我会在任何地方覆盖它。我所知道的项目中没有其他样式。

例子: 截屏

我的样式.xml:

构建.gradle:

我已经尝试了一些与 stackoverflow 上的菜单问题相关的主题覆盖建议。大多数不修复文本,它仍然是黑色的。

有些确实修复了文本,但其他项目(如用于展开子菜单的 V 形)在深色表面上保持黑色。

0 投票
2 回答
206 浏览

react-native - 我正在尝试在本机反应中实现暗模式

尝试将变量“theme”(接收 useColorScheme 库)分配为样式时,会出现以下错误。

错误图片

浅色和深色风格是在styles.js.

Github 要点

Github 项目

非常感谢您!

0 投票
2 回答
1096 浏览

android - Android 夜间模式跟随系统无法正常工作

我在我的应用程序中使用 DayNight 材质主题实现了深色主题。我在互联网上关注了几篇文章和会议演讲。一切都很顺利,直到一些小事情开始发生。让我解释:

该应用程序有几个活动。为了不明确地为每个活动设置主题,我按照建议将初始主题设置放在我的应用程序的 onCreate() 方法中。不过,这有一个缺点,我将在下面解释。

1.) AppCompat 在活动级别实现夜间模式,这意味着它不会更新应用程序上下文(我用来设置主题应用程序范围)(来源:https ://issuetracker.google.com/issues/ 134379747 )

2.)建议使用以下代码来检查应用程序是否在哪种模式下运行。但在我的情况下,它返回完全相反的模式:

3.)当我的应用程序设置为跟随系统,然后我手动切换到灯光模式(在应用程序中)然后返回跟随系统时,即使我的手机处于系统范围的黑暗主题,我的应用程序仍然保持明亮。但是,当切换我的应用程序主题时,它确实会发生变化。

我究竟做错了什么?可能的解决方案是将主题设置在活动级别上吗?

0 投票
1 回答
693 浏览

android - 如何使用 Espresso 测试 Android 暗模式

使用 Espresso 在 Android 上测试不同 DayNight 主题的最佳方法是什么?(或更好的东西?)我在互联网上没有找到任何东西。我认为这一定是一件大事,因为现在一切都迁移到了 DayNight。

我想知道诸如:“当我单击此按钮时,我的活动主题是否已更改”或“我有此背景和此文本,对比度是否正确”。

提前致谢。