关于日间夜间模式切换的一种实用方法
来源:互联网 发布:激光洗眉机网络假货 编辑:程序博客网 时间:2024/05/21 06:22
日夜间模式切换:
/**
* 第一种设置夜间模式:通过重新给Activity设置主题,然后杀掉Activity,再创建Activity重新设置的之塔才 * 有效
* 搭建环境
* 1.在values中colors里设置颜色属性
* 2.在style.xml中定义两组主题,也就是日间主题和夜间主题
* 3.创建attrs.xml文件
* 使用代码
* 4.需要夜间模式的布局引用attr自定义属性
* 5.java代码
* a.判断储存类型
* b.点击事件,根据类型进行日夜间的切换
*/
colors里夜间模式的设置
<color name="nightColorPrimary">#3b3b3b</color>
<color name="nightColorPrimaryDark">#383838</color>
<color name="nightColorAccent">#a72b55</color>
styles日间模式要添加:
<item name="android:textColor">@android:color/black</item>
<item name="mainBackground">@android:color/white</item>
夜间模式要写:
<style name="NightAppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/nightColorPrimary</item>
<item name="colorPrimaryDark">@color/nightColorPrimaryDark</item>
<item name="colorAccent">@color/nightColorAccent</item>
<item name="android:textColor">@android:color/white</item>
<item name="mainBackground">@color/nightColorPrimaryDark</item>
</style>
在values里创建attrs.xml文件,然后定义属性<attr name="mainBackground" format="color|reference"/>
在activity_main.xml引用夜间模式:
注意这里引用一下我们自定义的attr资源Android:background="?attr/mainBackground",可以使用到此属性的控件带有日夜间模式切换
紧接着就是java类了,先设置点击事件然后就要储存状态点击事件要做一个判断用三元运算符或者if,else都行至于方法我都给陈列下来了.
在这本人犯了个小小的错误,请大家原谅那就是我调用onSaveInstanceState的时候因为疏忽调用错了
一下图片就是我错的那个方法:
下面这个方法是正确的:
本人不时也会出错,所以有错请大家多多指导
阅读全文
0 0
- 关于日间夜间模式切换的一种实用方法
- 日间、夜间模式切换
- 夜间与日间模式的切换
- Android 切换日间夜间模式
- 系统自带方法设置日间和夜间模式切换
- 日间模式夜间模式切换小功能
- iOS 开发--日间/夜间模式切换
- 日夜间模式切换第一种方法
- 夜间日间切换1
- Android 日间夜间切换
- 设置日间夜间模式
- android 画面风格切换(夜间模式/日间模式) (有小坑没解决)
- AndroidSDK Support自带夜间、日间模式切换详解
- AndroidSDK Support自带夜间、日间模式切换详解
- AndroidSDK Support自带夜间、日间模式切换详解
- 日间模式转换夜间模式
- Android夜间模式切换的方法
- 夜间模式的切换
- typedef
- python 安装superset:error: Setup script exited with error: command 'gcc' failed with exit status 1
- 小白如何成长为优秀的系统设计专家?
- 7.2—查找—Sear Insert Position
- 剑指offer-39.二叉树的深度
- 关于日间夜间模式切换的一种实用方法
- 7.3—查找—Sear a 2D Matrix
- 框架就快开源了
- 使用若要打开fc-list,您需要安装X11
- wamp环境配置phpstorm的断点调试功能。和打开debug会出现waiting for incoming connetcion with ide key 17173的问题
- Struts2-01
- 深入理解Java:注解(Annotation)--注解处理器
- 8.1—暴力枚举法—Subsets
- unity如何调试dll库文件