android白色暗色主题,使用Kotlin开发Android应用(12) - Dark theme 暗色主题
Dark theme 暗色主题
样式和主题
样式是一个属性集合,用于指定单个 View 的外观。 样式可以指定字体颜色、字号、背景颜色等属性。
主题背景是一种应用于整个应用、Activity 或视图层次结构的样式,而不仅仅应用于单个视图。
在项目的 res/values/styles.xml 文件,创建需要的样式
#00FF00
使用 parent 属性指定要扩展的样式
创建主题背景, 像创建样式一样
@color/colorPrimary
@color/colorPrimaryDark
@color/colorAccent
将深色”主题背景应用于整个应用:
对 AndroidManifest.xml 文件中的 标签或 标签应用具有 android:theme 属性的主题背景
样式层次结构
如果您在多个位置指定了相同的属性,下面的列表决定了最终将应用哪些属性。该列表从最高优先级到最低优先级排序:
通过文本 span 将字符或段落级样式应用到 TextView 派生类
以编程方式应用属性
将单独的属性直接应用到 View
将样式应用到 View
默认样式
将主题背景应用于 View、Activity 或您的整个应用
应用某些特定于 View 的样式,例如在 TextView 上设置 TextAppearance
深色主题背景
Android 10 (API 级别 29) 及更高版本中提供深色主题背景
更改应用内主题背景
当应用在搭载 Android 9 或更低版本的设备上运行时,推荐的主题背景选项是:
浅色
深色
由省电模式设置(推荐的默认选项)
在 Android 10 (API 级别 29) 及更高版本上运行时,推荐的选项有所不同,目的是允许用户替换系统默认设置:
浅色
深色
系统默认(推荐的默认选项)
请注意,如果用户选择“Light”,省电模式不会更改该设置。
每个选项直接映射到以下某个 AppCompat.DayNight 模式:
浅色 - MODE_NIGHT_NO
深色 - MODE_NIGHT_YES
由省电模式设置 - MODE_NIGHT_AUTO_BATTERY
系统默认 - MODE_NIGHT_FOLLOW_SYSTEM
如要切换主题背景,请调用 AppCompatDelegate.setDefaultNightMode()。
响应主题背景的更改
每个 Activity 都可以处理 uiMode 配置变更,以自行处理深色主题背景
android:name=".MyActivity"
android:configChanges="uiMode" />
系统会在出现主题背景变更时调用该 Activity 的 onConfigurationChanged() 方法
override fun onConfigurationChanged(newConfig: Configuration) {
super.onConfigurationChanged(newConfig);
val currentNightMode = configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK
when (currentNightMode) {
Configuration.UI_MODE_NIGHT_NO -> {} // Night mode is not active, we're using the light theme
Configuration.UI_MODE_NIGHT_YES -> {} // Night mode is active, we're using dark theme
}
}
Reference 参考
其他文章
android白色暗色主题,使用Kotlin开发Android应用(12) - Dark theme 暗色主题相关推荐
- 用Kotlin开发android平台语音识别语义理解应用
用Kotlin开发android平台语音识别,语义理解应用(olamisdk) 转载请注明CSDN博文地址:http://blog.csdn.net/ls0609/article/details/75 ...
- 用Kotlin开发android平台语音识别,语义理解应用(olamisdk)
本文使用Kotlin开发Android平台的一个语音识别方面的应用,用的是欧拉密开放平台olamisdk. 1.Kotlin简介 Kotlin是由JetBrains创建的基于JVM的编程语言,Inte ...
- 使用Kotlin开发Android应用 - 环境搭建 (1)
一. 在Android Studio上安装Kotlin插件 按快捷键Command+, -> 在Preferences界面找到Plugins -> 点击Browse repositorie ...
- 使用Kotlin开发Android应用初体验
使用Kotlin开发Android应用初体验 昨晚,最近一届的谷歌IO大会正式将Kotlin确定为了官方开发语言,作为一名Android开发鸟,怎么能不及时尝尝鲜呢? Kotlin的简要介绍 在开发之 ...
- kotlin开发Android入门篇八Kotlin开发Android的基本使用
基础篇:Kotlin开发Android的基本使用 使用AndroidStudio3.0及以上开发Kotlin在新建项目中勾选这个选项则会默认开发语言为Koltin,然后再gradle(Project的 ...
- 用 Kotlin 开发 Android 项目是一种什么样的感受?(二)
前言 前面我已经写了一篇名为<用 Kotlin 开发 Android 项目是一种什么样的感受?>的文章.文中多数提到的还是 Kotlin 语言本身的特点,而 Kotlin 对于 Andro ...
- 使用Kotlin开发Android应用
作者:snowdream Email:yanghui1986527#gmail.com QQ 群: 529327615 原文地址:https://snowdream.github.io/blog/20 ...
- Kotlin开发Android
Kotlin开发Android<第一行代码> Kotlin简单语法 变量 1. 关键字var和val 2.不必显式声明变量类型 3. 变量的类型 函数 函数的定义 语法糖 流程控制 条件控 ...
- [Android]使用Kotlin开发Android(二)
以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/4829007.html [TOC] 使用Kotlin+OkHtt ...
最新文章
- 添加Soap头来增加Web Service的安全性
- 【转】读马化腾的产品设计观
- Linux中执行shell脚本的4种方法
- CISSP的成长之路(二):为什么要获得CISSP认证
- 对话高通孟樸:5G发展离不开中国,高通坚定pick全球化
- UVa1374 Power Calculus(IDDFS)
- 移动互联时代:儿童教育重在内容和应用
- java 反正多次重复提交_java web开发时防止刷新后的重复提交
- python,面向对象的各种方法
- 一步一步学习 iOS 6 编程(第四版)正式发布!
- TypeScript 编译生成的 JavaScript 源代码里的 ɵcmp 属性
- ijkplayer 消息循环处理过程分析
- Redis宕机数据丢失解决方案,不吃透都对不起自己
- Android自定义控件ImageViwe(四)——多点触控实现图片的自由移动
- 4fsk调制matlab_数字调制解调技术的MATLAB与FPGA实现
- macos 此服务器的证书无效_网易出现重大失误,忘记续费HTTPS证书导致大量用户受影响...
- 2011-寒假 linux 学习笔记
- mstar的android方案,Mstar Android 方案.pdf
- 总弹出Visual Studio实时调试器的问题
- 第七章、Tiny4412 U-BOOT移植七 DDR内存配置
热门文章
- Javascript中LenB的计算(ASP)
- 用GATK进行二代测序数据 SNP Calling 流程:(二)bwa比对和HaplotypeCaller 变异检测
- 易语言 给程序加上记住账号功能
- “互联网+教育”促进优质资源共享
- pycharm如何打开历史_如何在pycharm中反转控制台历史顺序以进行复制粘贴?
- mts如何转换为mp4
- android扫描文件,安卓手机怎么扫描文件_手机扫描文件的图文教程-系统城
- 程序员转行适合做什么?
- Windows Docker Desktop 无法启动报错 Docker Desktop is shutting down 的可能解决办法
- java presentation