如果夜间模式开启,我想要在我的活动中选择不同的布局。
我已经完成的工作:
添加了分别命名为“night”和“notnight”的布局文件夹。
现在,当我切换夜间模式并重新打开应用程序时,我希望布局会改变,但实际上并没有改变。
这需要额外的一些东西才能生效吗?
我需要添加权限才能使其生效吗?如果是,是哪一个权限? 我不想使用其他方法。我的用例需要根据夜间模式状态选择布局。我正在尝试弄清楚为什么正确的布局没有被自动选择,当文件夹已经准备好了。
更新:问题已经缩小范围。总是选择布局
所以问题是:
是否需要权限才能检测夜间模式的状态?就像它需要检测wifi状态和网络状态一样。
我已经完成的工作:
添加了分别命名为“night”和“notnight”的布局文件夹。
res
-----layout-night
----------my_layout.xml
-----layout-notnight
----------my_layout.xml
现在,当我切换夜间模式并重新打开应用程序时,我希望布局会改变,但实际上并没有改变。
这需要额外的一些东西才能生效吗?
我需要添加权限才能使其生效吗?如果是,是哪一个权限? 我不想使用其他方法。我的用例需要根据夜间模式状态选择布局。我正在尝试弄清楚为什么正确的布局没有被自动选择,当文件夹已经准备好了。
更新:问题已经缩小范围。总是选择布局
layout-notnight
,因此,文件夹结构正常工作。应用程序无法检测到夜间模式。(设备上切换夜间模式开关可以工作,但应用程序不能检测)。所以问题是:
是否需要权限才能检测夜间模式的状态?就像它需要检测wifi状态和网络状态一样。
mdpi
、hdpi
、xhdpi
等等的方式。也许你可以找出这是如何实现的,并尝试模仿一下? - VuckogetNightMode()
并记录其值来验证夜间模式是否已激活? - Vucko