IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

标签:Theme

共 1 篇相关文章

IT 累计浏览 2,123

Android夜间模式实现

这篇讲的是如何利用Android的Theme机制,相对简单地实现夜间模式切换。作者从一个实际需求出发,通过一个小Demo演示了核心步骤。 核心思路是先在`res/values`中定义自己的属性名(比如背景色),然后为日间和夜间模式分别创建主题样式文件,为这些属性赋予不同的值。在布局文件中,控件通过`?attr/属性名`来引用这些值,而不是直接写死颜色。 实现动态切换的关键在于代码逻辑:在Activity中通过`setTheme()`方法切换主题,并且一定要在调用`setContentView()`之前执行。对于已经显示的界面,作者提供了一个简洁的刷新方法:直接调用`recreate()`重建Activity即可应用新主题,省去了手动重设所有视图的麻烦。 文章没有堆砌理论,而是聚焦于“定义属性 -> 创建主题 -> 引用属性 -> 动态切换”这条实用路径。最后也提醒了几个实现细节,比如自定义主题必须继承系统Theme以避免报错,确保切换过程流畅。