Android Q适配 ---- 深色模式适配

你好! 好久没写安卓了,最近写了个项目,发现在华为的鸿蒙上,有的字会看不见,一开始也不知道是什么原因,后来才发现是因为那部测试机开的是深色模式,然后在鸿蒙上如果字体没设置颜色,深色模式下他会将背景颜色给设置成深色,然后我文字的颜色设置的就是深色,所以就会看不见了。当时因为Ui也只出了一套,所以,就没有适配。

然后还有就是,黑暗模式不仅可以省电,而且在晚上大家关灯玩儿手机的时候也会比亮光更保护眼睛,后面慢慢的公司也必然会要求适配黑暗模式了,所以,先看一下,然后记录下来和小伙儿伴们一起分享

接下来,就要开始正文了,

官方文档

Android 10 官方文档
https://developer.android.com/about/versions/10/highlights
深色模式官方文档
https://developer.android.com/guide/topics/ui/look-and-feel/darktheme
AppCompat DayNight 文档
https://medium.com/androiddevelopers/appcompat-v23-2-daynight-d10f90c83e94

适配方式

  1. Force Dark : 能让应用程序快速的适配深色模式,几乎不用编写其他的代码
  2. DayNight : 修改AppTheme 的style为Theme.AppCompat.DayNight.NoActionBar

Force Dark

AndroidQ提供了Force Dark功能,在浅色主题(例如:Theme.Material.Light)上面设置android:forceDarkAllowed="true"就可以快速的实现黑色主题背景,而不需要为黑色主题背景提供单独的主题资源。具体使用方法可以参考官方文档:
https://developer.android.com/guide/topics/ui/look-and-feel/darktheme

DayNight

  1. 首先就是将app --> src -->main -->res -->values–>style里的,AppTheme改成Theme.AppCompat.DayNight.NoActionBar
  2. 然后在右键res目录,new -->Directory 名字就是 values-night
  3. 然后右键此目录,new --> New values Resoure File ,名字就是 colors.xml(或者直接复制上面values目录的color.xml文件),在这里面按ui编辑你夜间模式需要的颜色

然后需要注意的就是, values-night目录color.xml下的颜色,需要在value里面color.xml这里面先有,要不然编译器会报错

我是入梦,谢谢你的观看我的博客,觉着好用的话,麻烦帮忙点个赞呗,谢谢啦~ 如果有什么错误,请随时联系我噢~QQ:897589417

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值