如果夜间模式开启,我想在我的 Activity 中选择不同的布局。
我做了什么:
为 night
和 notnight
添加了单独的布局文件夹,如下所示:
res
-----layout-night
----------my_layout.xml
-----layout-notnight
----------my_layout.xml
现在,当我切换夜间模式并重新打开应用程序时,我希望布局会发生变化,但事实并非如此。
是否需要额外的东西才能工作?
是否需要添加权限才能使其正常工作?如果有,是哪一个?
不寻找替代方法。我的用例特别需要根据夜间模式状态选择布局。我试图弄清楚为什么当文件夹就位时没有自动选择正确的布局。
更新:缩小问题范围。总是选择布局 layout-notnight
。因此,文件夹结构工作正常。应用程序无法检测到夜间模式。 (夜间模式在设备上打开 - 尝试打开和关闭它在设备上有效但应用程序不会检测到)
那么现在的问题是:
是否需要权限才能检测到夜间模式的状态?就像它需要检测 wifi 状态和网络状态。
最佳答案
您可以尝试使用 UiModeManager
。它提供方法 setNightMode()
和 getNightMode()
。也许它不能解决问题,但这是解决问题的方法。
关于android - 应用程序中未检测到夜间模式状态 - 即使打开时也是如此,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38274876/