当前位置: 首页 > article >正文

Android切换日夜模式导致Activity重建

当从深色模式切换到浅色模式时,activity会销毁重新加载,但往往是从xml文件开始加载,而动态设置的一些值不会保存,同时如果页面足够复杂,被打回到起点是很麻烦的。以下是一些解决方案:
1,在AndroidManifest.xml给activity配置如下标签:

android:configChanges="uiMode"

2,然后配置如下的方法,来实现日夜模式的不同ui效果。

    @Override
    protected void onConfigurationChanged(Configuration config) {
        super.onConfigurationChanged(config);
        int currentNightMode = config.uiMode & Configuration.UI_MODE_NIGHT_MASK;
        switch (currentNightMode) {
            case Configuration.UI_MODE_NIGHT_NO:
                // Night mode is not active, we're using the light theme
            
                break;
            case Configuration.UI_MODE_NIGHT_YES:
                // Night mode is active, we're using dark theme
                break;
        }
    }


http://www.kler.cn/news/293250.html

相关文章:

  • C/C++的自由落体运动
  • 服务器数据恢复—磁盘坏扇区导致raid6阵列崩溃的数据恢复案例
  • 校园体育装备展-2025中国(深圳)国际学校体育装备展览会
  • 【Kafka】怎么解决Kafka消费者消费堆积问题?
  • windows 11/ubuntu Teredo 设置 (ipv4 转 ipv6)
  • 数据结构之——顺序表中基本操作的实现
  • 读懂以太坊源码(2)-重要概念Gas
  • 【Kubernetes 】k8s常用单词
  • Linux:深入剖析计算机软硬件架构
  • 单一职责原则介绍
  • Gartner报告解读:如何帮助企业完善数据分析与治理路线图
  • Jmeter模拟用户登录时获取token如何跨线程使用?
  • PostgreSQL技术内幕8:PostgreSQL查询执行器
  • 完整指南:CNStream流处理多路并发框架适配到NVIDIA Jetson Orin (二) 源码架构流程梳理、代码编写
  • Python爬虫01
  • 代码随想录:343. 整数拆分
  • ECMAScript与JavaScript的区别:深入解析与代码示例
  • MP条件构造器之常用功能详解(select、set)
  • MySQL——事务与存储过程(三)存储过程的使用(4)删除存储过程
  • 三星的新款笔记本电脑AI性能提升一倍
  • vite创建的vue项目怎么使用jsx来实现elementPlus表格表尾的合计有多行大的方法
  • 【全网最全】2024年数学建模国赛D题39页成品论文+matlab代码+结果等(后续会更新)
  • 身份验证技术应用10大关键趋势
  • 图论题总结
  • 基于JavaWeb开发的Java+Springboot+Vue+elememt美食论坛平台设计实现
  • 安卓逆向(之)真机root(红米手机)
  • 社群空间站付费入群系统易支付版全套搭建教程
  • 【嵌入式学习笔记】---- 通信基础
  • 关于蓝屏查看日志分析原因
  • C_13_FILE