DayNight主题有四种情况:
第一和第二种情况是正常的。不幸的是,第三和第四种情况与预期不符。 BiometricPrompt对话框,获取设备的ui模式。我想为BiometricPrompt对话框应用应用程序UI模式。您可以在下面看到问题:
答案 0 :(得分:0)
有趣的问题!
从您的问题中可以很明显地看出,设备和应用程序角色在所有4种情况下都是可以切换的(但只有在颜色不同的情况下才明显)
一些需要检查的资源,这些构成了我的答案的基础: https://developer.android.com/guide/topics/ui/look-and-feel/darktheme
一些背景:
认证布局由软编码的颜色(主题归为主题)构建而成,可以使夜间主题发挥作用(如您的图片所示)
未将布局设置为继承夜主题(活动的工作)
用于显示身份验证对话框的方法使用片段(非活动),这可能会导致其在uiMode下无法正常工作的原因)。必须在清单中设置一个活动以支持uiMode。不确定如何处理片段
uiMode配置更改自动重建活动
我的答案:
由于用户身份验证的优先级高,因此将身份验证对话框的优先级高于活动的“设备”,而将对话框后面的活动委派给“应用程序”角色。目前尚不清楚为什么或如何发生。我将在DayNight主题的整个实现过程中尝试切换设备和应用程序的角色。