Android夜间模式DayNight问题 目录
一、问题
二、相关代码
三、问题所在
四、夜间模式
五、解决方案
六、Finally
今天收到用户反馈,界面上完全看不到文字。
这在之前的测试过程中完全没有发现,好在用户发了截图。
一、问题 问题:界面上几乎看不到文字
机型:荣耀畅享8 Plus
位置 | 描述 | 截图 |
---|---|---|
主界面 | 文章图片 |
|
升级界面 | 文章图片 |
|
关于界面 | 文章图片 |
1 2 3 4 5 6 7 |
|
1 2 3 4 5 6 7 8 9 |
|
TextView
都没有直接指定文本颜色,而是通过使用textAppearance
设置文本风格。因此问题出在主题
Theme
上。使用的主题是
Theme.AppCompat.DayNight.NoActionBar
,属于AppCompat
,相关资源打包在apk安装包中,因此跟手机系统的主题设置无关。问题唯一的可能便是
DayNight
上。四、夜间模式
常量 | 说明 | 截图 |
---|---|---|
MODE_NIGHT_FOLLOW_SYSTEM | 默认值,跟随系统 | |
MODE_NIGHT_AUTO | 根据日出日落时间自动设定 | |
MODE_NIGHT_NO | 关闭夜间模式 | 文章图片 |
MODE_NIGHT_YES | 开启夜间模式 | 文章图片 |
因为默认的夜间模式为MODE_NIGHT_FOLLOW_SYSTEM,因此可能出现开启夜间模式的情况。
神马笔记当前暂未实现夜间模式的配色,因此便出现了问题。
五、解决方案 在
Application
的onCreate()
方法中增加下面代码。 1 |
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO); |
六、Finally 【Android夜间模式DayNight问题】世尊说我见人见众生见寿者见,即非我见人见众生见寿者见,是名我见人见众生见寿者见。