如果你用的是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();

可以将上面的代码放到你的监听事件里,这样就可以最简单的实现日夜间模式的切换了

更多相关文章

  1. Android(安卓)Calendar一闪而过 无法创建event
  2. Android(安卓)requires compiler compliance level 5.0 or 6.0.
  3. IDEA 快捷键 Android(安卓)Studio快捷键
  4. android 开发中的Log
  5. cmake 编译 ogre3D(version1.9) for android
  6. Android(安卓)ListView 滚动条的设置详解及实例代码
  7. eclipse中无法新建Android工程 出现问题:Plug-in org.eclipse.ajd
  8. android 7.1.1 软件升级安装报解析软件包时发生错误
  9. 特效--------圆角 倒影

随机推荐

  1. Android筆記 - Dalvik的漫談
  2. Android TextView 超链接
  3. 面试篇--android下网络通讯机制(三种网络
  4. 获取手机系统
  5. Android(安卓)StateMachine和AsyncChanne
  6. Android中画图总结(1)
  7. android 自定义用相机拍照后的照片存储位
  8. android群发短信时判断短信是否发送成功
  9. Android触屏事件处理策略
  10. Android之百度地图开发,包含定位,覆盖物,经