Android最简单实现日夜间模式切换
16lz
2022-05-17
如果你用的是Android studio开发,则先把Android工程切换为Project,在你的项目下的res目录下创建一个values-night文件夹,并在这个文件夹下创建colors.xml文件,代码如下
<color name="colorPrimary">#3F51B5 <color name="colorPrimaryDark">#303F9F <color name="colorAccent">#FF4081 <color name="textColorPrimary">#616161 <color name="viewBackground">#212a2f
再看你的values文件夹下的colors.xml的代码
"colorPrimary">#3F51B5 "colorPrimaryDark">#303F9F "colorAccent">#FF4081 "textColorPrimary">#616161 "viewBackground">@android:color/white
这两个文件的不同就是其背景和文字的颜色不同,如果你布局里已经给你的文字和背景设置过颜色,则这两行颜色改变不起作用,你需要自己在colors.xml中定义两套主题颜色。接下来再来看看style.xml文件中的改变:
其实就是把你主题中的Night改成了DayNight,就这么简单,接着看代码怎么实现切换
int mode = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK; if(mode == Configuration.UI_MODE_NIGHT_YES) { AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO); } else if(mode == Configuration.UI_MODE_NIGHT_NO) { AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES); } recreate();
可以将上面的代码放到你的监听事件里,这样就可以最简单的实现日夜间模式的切换了
更多相关文章
- Android(安卓)Calendar一闪而过 无法创建event
- Android(安卓)requires compiler compliance level 5.0 or 6.0.
- IDEA 快捷键 Android(安卓)Studio快捷键
- android 开发中的Log
- cmake 编译 ogre3D(version1.9) for android
- Android(安卓)ListView 滚动条的设置详解及实例代码
- eclipse中无法新建Android工程 出现问题:Plug-in org.eclipse.ajd
- android 7.1.1 软件升级安装报解析软件包时发生错误
- 特效--------圆角 倒影