当前位置: 首页 > 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/a/293250.html

相关文章:

  • opencv常用api
  • 量化交易系统开发-实时行情自动化交易-3.4.2.2.Okex交易数据
  • 从社交媒体到元宇宙:Facebook未来发展新方向
  • 【大数据测试HBase数据库 — 详细教程(含实例与监控调优)】
  • C++单例模式实现
  • java导出pdf
  • 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性能提升一倍