android 自带的夜间模式是真的丑

所以想通过监控模式来自定义模式

其实很简单

首先在 AndroidManifest.xml 添加监控

    android:configChanges="orientation|screenSize|uiMode"

完整代码

    <activityandroid:name="com.zzf.bluetoothsmp.Liao_tian"android:exported="false" /><activityandroid:name="com.zzf.bluetoothsmp.MainActivity"android:exported="true"android:configChanges="orientation|screenSize|uiMode"android:launchMode="singleTask"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity>

然后在 MainActivity 重写onConfigurationChanged( ) 方法

public void onConfigurationChanged(@NonNull Configuration newConfig) {super.onConfigurationChanged(newConfig);int currentNightMode = newConfig.uiMode & Configuration.UI_MODE_NIGHT_MASK;Log.d(TAG, "当前什么模式: 这是日间模式22222222222222222222222");switch (currentNightMode) {case Configuration.UI_MODE_NIGHT_NO:Log.d(TAG, "当前什么模式: 这是日间模式");break;case Configuration.UI_MODE_NIGHT_YES:Log.d(TAG, "当前什么模式: 夜间模式");break;}}

重写onConfigurationChanged注意下 

在Activity中添加了android:configChanges属性,目的是当android:configChanges所设置的属性值对应的配置属性发生改变时,通知程序调用 onConfigurationChanged()函数,而不会重启Activity。

这里简单说下configChanges

“mcc” :国际移动用户识别码所属国家代号改变了----- sim被侦测到了,去更新mcc,mcc是移动用户所属国家代号
“mnc”: 国际移动用户识别码的移动网号码改变了------ sim被侦测到了,去更新mnc,MNC是移动网号码,最多由两位数字组成,用于识别移动用户所归属的移动通信网
“locale”: 地址改变了-----用户选择了一个新的语言会显示出来
“touchscreen”: 触摸屏是改变了------通常是不会发生的
“keyboard” :键盘发生了改变----例如用户用了外部的键盘
“keyboardHidden”: 键盘的可用性发生了改变
“navigation”: 导航发生了变化-----通常也不会发生
“screenLayout”: 屏幕的显示发生了变化------不同的显示被激活
“fontScale”: 字体比例发生了变化----选择了不同的全局字体
“uiMode”: 用户的模式发生了变化
“orientation”: 屏幕方向改变了
“screenSize”: 屏幕大小改变了
“smallestScreenSize”: 屏幕的物理大小改变了,如:连接到一个外部的屏幕上

android夜间模式监控相关推荐

  1. Android夜间模式实践

    前言 由于项目需要,近段时间开发的夜间模式功能.主流的方案如下: 1.通过切换theme实现 2.通过resource id映射实现 3.通过Android Support Library的实现 方案 ...

  2. android自动夜间模式吗,Android夜间模式的实现方案

    原标题:Android夜间模式的实现方案 作者简介 本篇来自 Sunlight1024的投稿,详细地讲解了关于Android应用的夜间模式的实现,希望大家喜欢! Sunlight1024的博客地址: ...

  3. android自动夜间模式,夜晚的故事(android夜间模式实现)

    夜幕降临,他走在马路上,回想着今天发生的一切,他不敢相信事情就这样发生了.他最终还是决定拨打那个电话,掏出手机,解锁屏幕,突然一道强光从屏幕里毫无预兆的发射出来.他一个踉跄倒在了马路中央.而他身后伴随 ...

  4. Android夜间模式最佳实践

    转自:Android夜间模式最佳实践 由于Android的设置中并没有夜间模式的选项,对于喜欢睡前玩手机的用户,只能简单的调节手机屏幕亮度来改善体验.目前越来越多的应用开始把夜间模式加到自家应用中,没 ...

  5. android 夜间模式 框架,Android 夜间模式的三种实现

    实现夜间模式有很多种方式,经过多次尝试,算是找到了一种性价比较高的方式. 主题方式 这是最正统的方式,但工作量巨大,因为要全局替换 xml 布局中所有硬编码的色值,将其换成主题色.然后通过换主题达到换 ...

  6. android os夜间,Android夜间模式实现

    查看我的全部开源项目[开源实验室] 欢迎加入我的QQ群:[201055521],本博客客户端下载[请点击] 本文原创,转载请注明地址:http://blog.kymjs.com/ 最近在做一个Andr ...

  7. android 夜间模式设置

    夜晚的故事(android夜间模式实现) 字数2003  阅读1393  评论11  喜欢18 夜幕降临,他走在马路上,回想着今天发生的一切,他不敢相信事情就这样发生了.他最终还是决定拨打那个电话,掏 ...

  8. Android夜间模式的几种实现

    一.直接修改widget颜色,这种方式实现起来最简单,但需要每个控件都去修改,太过复杂.例如: /*** 相应交互,修改控件颜色* @param view*/public void onMethod1 ...

  9. android官方夜间模式,Android夜间模式实践

    前言 由于项目需要,近段时间开发的夜间模式功能.主流的方案如下: 1.通过切换theme实现 2.通过resource id映射实现 3.通过Android Support Library的实现 方案 ...

最新文章

  1. Java程序员常用工具集
  2. 【ABAP】更新交货单交货数量和拣配数量
  3. Visual Studio“Orcas”October 2006 CTP版下载
  4. mysql主从配置访问_Mysql主从配置,实现读写分离
  5. UIScrollView的几个要点总结
  6. 每日算法系列【LeetCode 354】俄罗斯套娃信封问题
  7. 运筹学_单纯形法_week3
  8. 谷歌octotree插件的使用
  9. Java锁synchronized关键字学习系列之CAS和对象头
  10. 农业物联网系统功能特点
  11. 三 国外IP核主要竞争对手
  12. STC系列51单片机延时程序汇总
  13. 纯鼓点节奏_[鼓点] 简单的鼓点节奏
  14. 带你彻底搞懂Android启动速度优化!吐血整理
  15. JAVA 面试(更新)
  16. 世界顶级食材——挑动你的食欲
  17. cocos creator 3.x 精灵不显示、加载动态图片、物理碰撞、人物跟随鼠标移动、碰撞后节点销毁
  18. 亿速云服务器 如何上传文件,使用MultipartFile怎么实现一个文件上传功能
  19. 【踩坑专栏】Field xxFeignClient in xxx required a bean of type ‘xxx.XXFeignClient‘ that could not be found
  20. 右键excel 文件后文件夹卡死,或打开Excel后文件所在的文件夹卡死

热门文章

  1. px、em、rem、rpx 用法 与 区别
  2. QQ群共享总是下载失败怎么解决?
  3. 计算机光驱运行功能,电脑如何设置光驱位第一启动项
  4. django实现websocket作为安卓开发后台(软件课设,oo聊天)
  5. 请用java代码实现冒泡排序并输出,深夜思考
  6. Keras的loss_weights和class_weight
  7. 微信小程序制作天气查询系统
  8. Origin绘图 默认字体设置
  9. 剑指 Offer 42. 连续子数组的最大和java
  10. 创新实践 | SaaS增长新趋势:产品驱动增长PLG(下)