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

android - 什么是 Android 中的高程叠加

我多次遇到海拔叠加。即使我阅读了一些定义,我似乎也没有找到它的确切含义。你能帮我解决这个问题吗?它是什么?它是如何使用的?

这是链接

0 投票
1 回答
327 浏览

java - 优化夜间模式系统

我在我的应用程序中创建了一个日/夜模式切换系统。目前,我使用 PreferenceFragmentCompat + SharedPreference 来显示和保存开关选择。

这是我的代码:

OnCreate最重要的是,我在主 Activity的方法中使用了以下代码:


问题是当我激活暗模式并重新启动应用程序时,它将启动然后在onCreate. 难道没有更优化的方式来实现这个系统吗?

0 投票
1 回答
1153 浏览

android - android中是否有任何特定的资源文件夹仅用于暗模式drawables?

当我在我的应用程序中打开暗模式时,某些对话框的图标不可见,因为它们是暗的。我在 Android 工作室中使用“新图像资源”选项创建了这些可绘制对象。是否有任何用于暗模式绘图的特定资源文件夹?

0 投票
1 回答
260 浏览

android - 我可以强制特定布局在 Android 中使用暗模式吗?

我有一个在这么多布局之间共享的共同观点。此视图已经配置了日/夜。有一个新视图将用于<include>这种通用布局。但是,这个新视图将只有一个状态,并且通用布局的暗模式更适合这个新视图中的其余元素。有没有办法强制新布局使用暗模式?还是强制它在里面<include>

0 投票
1 回答
2070 浏览

android - 如何在片段上实现从亮模式到暗模式的转换

我试图向我的应用程序添加暗模式。当我在我的设置片段上激活暗模式时,屏幕会闪烁,并且页面保持亮模式。但是,当我转换到不同的片段时,无论是通过后台堆栈还是打开新片段,该片段都处于暗模式。只有在返回设置片段时,它才会处于暗模式。但是当我在设置页面上禁用暗模式时,它会立即回到亮模式。为什么它不从浅色模式过渡到深色模式,但它会从深色模式过渡到浅色模式。根据我之前的研究,我将不得不将片段重新加载到活动中,我曾尝试这样做,但没有成功。

在此处输入图像描述

用于设置片段的 XML 布局文件:

样式.xml:

设置片段java代码:

0 投票
1 回答
401 浏览

java - 如何实现android跟随系统夜间/黑暗模式?

我在我的应用程序及其工作中设置了明暗模式

但我还想添加一个选项,让应用程序遵循系统设置的模式。因此用户可以在三个选项中进行选择。

我试图这样做,但没有成功。我想添加单选按钮来切换到浅色、深色、跟随系统模式。

Here's what I have tried

0 投票
1 回答
1215 浏览

android - Android: Detect if night mode is set to FOLLOW_SYSTEM with AppCompatDelegate

I'm trying to make a settings option that allows the user to choose whether the app should be in night mode, day mode or follow the system default. In order to display the current setting to the user I need to get it from the system. However the code I'm using below always returns MODE_NIGHT_UNSPECIFIED. Am I doing something wrong here?

I have the following code:

The log output is:

However I think this is incorrect because my appTheme extends the material DayNight theme. Additionally, when I enable or disable night mode, my app changes theme, so it must be following the system mode. Any help would be much appreciated!

0 投票
0 回答
243 浏览

android - Android:使用 setDefaultNightMode()(特定于设备)更改主题时,以前的活动会闪烁白色

我正在开发一个具有主要活动和设置活动的应用程序,用户可以在其中手动将主题更改为暗模式。我在我的三星 S8 设备上实施并测试了此设置更改,它运行良好。但是,我随后在我的 Google Pixel 4 上对其进行了测试并遇到了问题。当导航回主要活动(从设置)时,前一个活动仍然会在瞬间应用浅色主题。然后它重新创建并应用黑暗主题。不过,看到白色主题闪现的效果有点刺眼。

当用户单击按钮更改设置中的主题时,将调用此代码块:

知道为什么主题可能仅针对 Pixel 4 设备闪烁吗?我认为 Pixel 4 应该比速度较慢的三星 S8 更不容易出现此类问题。

0 投票
0 回答
182 浏览

android - 更改 AppCompatDelegate.setDefaultNightMode 时重新启动 Activity

所以,我已经在我的应用程序中实现了深色主题,然后将状态保存在共享首选项中,然后当我重新启动应用程序时,我必须检查状态并相应地应用主题,但是当我这样做时,活动会自行重新开始

不知道怎么解决这个问题!!!

0 投票
1 回答
1342 浏览

android - 为什么 Android 将我的一些可绘制对象反转为深色主题(夜间)而不是其他对象?

我的应用程序使用Theme.AppCompat.DayNight.NoActionBar AppTheme, 并且有一个导航抽屉。我所有的可绘制对象都是 XML 向量,其中的路径是黑色的。对于在我的 sidenav 菜单中的这些可绘制对象的使用,Android 或 SDK 中的某处已反转可绘制对象,使得我的路径实际上是白色的(或接近白色的颜色,也许实际上是colorAccent)。这很好。

但是当我将相同的可绘制对象作为菜单项放置在操作栏中时,它并没有倒置并且仍然使用黑色路径。怎么来的?我怎样才能在那里发生同样的魔法?

主题:

主活动布局中的操作栏:

menu/action_bar.xml

以下是我如何膨胀菜单并处理片段中书签的切换(aToggleButton似乎不会在这里为我节省任何工作):

Sidenav 图标,倒置(好):

侧导航

操作栏图标,未倒置(坏):

在此处输入图像描述