前言
之前介绍过Android日夜模式的使用,日夜模式是Android高版本自带的一种模式,很方便也很使用。如果换肤只有2种皮肤,这个是最佳选择,因为Android日夜模式只要按照规则即可实现。
虽然介绍过,但很多细节还是没有说明白,因此由写一篇流水文,方便自己回顾。
正文
日夜模式就是我们常说的静态换肤的一种。进入话题前,先介绍一下优缺点。
知此知彼,百战不殆
优点
-
使用简单,Android自带
缺点
-
只支持两套皮肤(日间和夜间皮肤)
-
APK可能臃肿(若图片资源过多的话)
资源目录
Android高版本支持日夜模式,并创建夜间对应资源目录。
drawable
# 白天(默认) drawable-nodpi drawable-mdpi # 黑夜 drawable-night-nodpi drawable-night-mdpi
注意night的位置,是在中间哈!
位置写错是Android是无法识别里面黑夜资源图片!
values
# 白天(默认) values # 黑夜 values-night
AndroidManifest.xml
<activity android:name=".MainActivity" android:configChanges="uiMode" android:exported="true" android:launchMode="singleInstance"> //站长 略 </activity>
这里主要是配置了
android:configChanges="uiMode"
不设置uiMode
如果不设置uiMode,切换模式时MainActivity会先销毁,然后重新创建。
#MainActivity在顶部 onPause onStop: onDestroy onCreate onResume
如果界面没啥逻辑,只是刷新UI,那没啥问题。一旦有其他逻辑,比如加载动画等,那就是又会重新走一次,这样肯定不友好。
设置uiMode
如果设置了uiMode,须重写onConfigurationChanged(),因此MainActivity不会先销毁再启动,二是直接回调onConfigurationChanged()这里。
PS: android:configChanges=""里面还有好多配置,这里不介绍。
@Override public void onConfigurationChanged(@NonNull Configuration configuration) { super.onConfigurationChanged(configuration); //站长,打印模式变化 Log.d(TAG, "updateMode configuration uiMode : " + (configuration.uiMode & Configuration.UI_MODE_NIGHT_MASK)); //重新加载UI reloadUI(); }
其实,Android的日夜模式都是设计好了的,要么重启Activity(不配置uiMode),要么自己重新加载一次UI资源。
参考文章
-
《
历史上的今天
暂无评论...
随机推荐
Android aidl简单使用
前言简单记录一下aidl的使用,方便自己查阅和复习。正文因为客户端和服务端都需要引入相同的aidl的定义,因此这里单独吧aidl文件作为一个lib库。Biu2Aidl库Biu2Aidl是lib库,存放客户端和服务端共同的aidl定义和Constant类。IBook.aidl/Biu2...
Android 语言切换相关问题记录
前言Android切换语言是很常用的功能,项目中一般都会要做做英文和中文两种语言的切换,这里就简单的记录一下改变语言相关的问题。正文圆规正传监听语言切换的广播Intent.ACTION_LOCALE_CHANGED//如下是完整的定义public static final Strin...
C语言之类型转换符大全
前言C语言类型打印是要有转换符,也就是我们常用的%d,%c等,这里简单记录一下相关规则,方便自己查阅。正文转换说明符占位符 说明%d 有符号十进制整数%i 一...
ATC平台编译命令记录
前言主要记录一下ATC项目中用的编译命令。方便自己查阅。主要是个人用,每个平台可能不一样。不推荐看哈正文在Android源码目录下隐藏内容!付费阅读后才能查看!¥2 ¥3多个隐藏块只需支付一次付费阅读参考文章1.《ATC 文档》
常见的文件头或文件尾十六进制表示
前言最近在加载图片时,由于需要对不同图片使用不同的加载方式,因此需要通过判断图片的类型进行条用不同的接口。因此摘抄于此,以便查阅。正文下面的文件头或文件尾都是用十六进制表示的。JPEG (jpg)文件头:FFD8FF文件尾:FFD9PNG (png)文件头:89504E47文件尾...
自定义SeekBar样式
前言简单记录一下使用shape定制Seekbar样式。正文这里主要在参考文章末尾连接修改的。谢谢。自定义thumb/res/drawable/seek_bar_thumb.xml<?xml version="1.0" encoding="utf-8"?><shape...