//使用Android SDK自带的API,完成白天与夜晚模式切换,非常简单。

//——————-第一步 打开你的项目values下的style.xml文件修改————————
//把你原来的:

<!-- Customize your theme here. --><item name="colorPrimary">@color/colorPrimary</item><item name="colorPrimaryDark">@color/colorPrimaryDark</item><item name="colorAccent">@color/colorAccent</item>

//改成:

<!-- Customize your theme here. --><item name="colorPrimary">@color/colorPrimary</item><item name="colorPrimaryDark">@color/colorPrimaryDark</item><item name="colorAccent">@color/colorAccent</item>

//以上把Light修改为 DayNight,因为DayNight这个主题或者它的子主题才支持白夜间模式的切换。

//—————-第二步 在res下新建文件夹values-night—————–

/默认模式一般是日间模式,系统会读取values中的值,当我们切换到夜间模式时让它读取values-night下的值。
//然后把你的values下的colors.xml和styles.xml文件复制到你新建的values-night里。
//再把你values-night下复制过来的colors.xml,里面的三个颜色值改一下,自己自定义颜色。
//例如:

<color name="colorPrimary">#7c05f2</color><color name="colorPrimaryDark">#05f9a3</color><color name="colorAccent">#fdb704</color>

//—————–第四步 Activity里调用即可—————————————–
//切换成夜间模式,需要调用Activity的recreate()方法。

getDelegate().setLocalNightMode(AppCompatDelegate.MODE_NIGHT_YES);

//不加recreate();也行,要是切换不成功,再加这行试试

//recreate();
//切换白天模式,需要调用Activity的recreate()方法。

getDelegate().setLocalNightMode(AppCompatDelegate.MODE_NIGHT_NO);

//不加recreate();也行,要是切换不成功,再加这行试试

//recreate();
//————————————切换完成——————————————-
//———————————————————注意——————————————————–
//这个API还带有自动模式,如果我们app有定位权限、网络权限等,系统可以自动确实现在是晚上还是白天,当用户打开APP时会自动切换到响应的模式,这个模式我们可以设置一个APP类初始化或者Application中用一个静态代码快来设置
//—————- 新建App类继承Application ,初始化并在AndroidManifest.xml调用——————–

public class App extends Application {

public static BaseActivity mContent;@Overridepublic void onCreate() {super.onCreate();

// MODE_NIGHT_AUTO

    AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_AUTO);}

}
//网络权限加定位权限。

//如果你使用了App类,并初始化了 AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_AUTO);
//但是最后你却只能有一个Activity切换了,不能一下切换全部了,那么你可以把App类里的初始化改为:
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.getDefaultNightMode());
//—–最后注意,切换横竖屏时,生命周期会重走,要在AndroidManifest.xml加一行 :android:configChanges=”orientation|screenSize|keyboardHidden”,让它的生命周期不重走,注意。

android:configChanges="orientation|screenSize|keyboardHidden"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter>

//如果不想让它切换横竖屏就加android:screenOrientation=”portrait”

Android 简单的白天与夜晚模式切换相关推荐

  1. 44.android 简单的白天与夜晚模式切换

    //使用Android SDK自带的API,完成白天与夜晚模式切换,非常简单. //这句依赖在android studio创建项目的时候就有了: implementation 'com.android ...

  2. android os开机画面,Android简单实现启动画面的方法

    本文实例讲述了Android简单实现启动画面的方法.分享给大家供大家参考,具体如下: 核心代码: package com.demo.app; import android.app.Activity; ...

  3. android 代码浏览,Webview实现android简单的浏览器实例代码

    WebView是Android中一个非常实用的组件,它和Safai.Chrome一样都是基于Webkit网页渲染引擎,可以通过加载HTML数据的方式便捷地展现软件的界面,下面通过本文给大家介绍Webv ...

  4. 拼图java监听器,Android 简单的实现滑块拼图验证码功能

    实现滑块拼图验证码功能之前已经写过一篇了,上一篇使用的是自定义控件的方式实现这个功能,主要还是想让童鞋们知其然更知其所以然,还没看的童鞋可以先看看Android实现滑块拼图验证码功能这篇. 在项目的开 ...

  5. android简单即时聊天sdk

    android简单即时聊天sdk 切换用户登录的实现 联系人列表的实现 聊天页的实现 消息缓存与排序 消息接收和分发--数据库队列和投递队列 有序列表的维护 切换用户登录的实现 由于不同的登录用户需要 ...

  6. 趣图 | 程序员的白天 vs 夜晚?

    点击上方"蓝色字体",选择"设为星标" 开启乐趣模式! 程序员的白天 vs 夜晚! ↓↓↓ 点击关注下方卡片关注我

  7. 简单的Android程序多少钱,Android简单程序利息计算器

    我在编程Android的第一课,并为我的第一次尝试,我试图开发一个利息计算器.该应用程序启动,但然后崩溃.代码如下:Android简单程序利息计算器 package com.example.vitor ...

  8. Android简单学习使用PictureSelector框架图片选取裁剪

    Android简单学习使用PictureSelector框架图片选取裁剪 关于 效果图 第一步,添加引用 第二步,新建activity_main.xml布局文件 第三步,修改MainActivity. ...

  9. Android简单计算器实现

    Android简单计算器实现 前言 最近刚开始学习安卓,只是简单的看到布局那块,就开始上手写了,从布局那里就开始各种乱,还到处拖按钮,一开始的第一版只能实现两个数的运算,比较简单,就是简单的上了个手, ...

最新文章

  1. 【Java基础】集合
  2. linux 界面工具 qt,Qt主窗口中的工具栏
  3. fullbnt matlab,FullBNT学习笔记之一(matlab)
  4. nginx生成自定义证书
  5. 集合中获取元素为什么要进行强制类型转换
  6. 【3D游戏建模】3D建模师的发展前景
  7. 我整理的一个经典分页程序(JSP的)
  8. 20150318知识小结
  9. Apache Spark开发介绍
  10. laravel-excel文档翻译笔记
  11. 易观分析联合中小银行联盟发布海南数字经济指数,敬请期待!
  12. Trie树【p2264】情书
  13. 华中科技大学计算机王凯,苗蕾-环境科学与工程学院
  14. Unity 灯光系统
  15. const static 数组指针
  16. 电脑主要硬件各种作用
  17. python爬取歌曲的全部评论
  18. 研究生挂职锻炼-面试问答演练
  19. Python+Vue计算机毕业设计青年公寓租房管理系统2b730(源码+程序+LW+部署)
  20. 分享一些写博客的实用工具

热门文章

  1. 通过拼多多根据ID获取商品详情数据简易操作
  2. 更改Ubuntu软件镜像为清华镜像
  3. 抖音上几百万粉丝的能有什么用?
  4. 电机速度rpm转换成轮子的速度
  5. 2022. 06 青少年机器人技术等级考试理论综合试卷(三级)
  6. MATEBOOK E 2019 安装linux
  7. python识别ppt文件格式 ——(专栏:基于python编写简单office阅卷程序③)
  8. Chrome HackBar工具下载
  9. Win7安全模式启动卡在Classpnp.sys
  10. Linux运维工程师是做什么的?运维发展前景到底怎么样?