《Android编程权威指南》第 21 章第一篇,主要就是给 BeatBox 界面重定制,内容不多,将学习到 Android 主题和样式相关的知识。
一、颜色资源
颜色资源通常统一放在 res/values/colors.xml 文件中进行管理,整个应用对它进行引用。
颜色可以从左边的小正方形实时看到,还挺方便。通常项目中会定义各种色值,还有黑夜模式的色值,会放另外一个 -night 的文件夹中的 color.xml,用同一个名字,这样主题切换到暗黑模式就自动变化引用的色值了。跟前面做国际化方式类似做此功能。
二、样式
样式是能够应用于视图部件的一套属性。存放在 res/values/styles.xml 中。先添加个新样式 BeatBoxButton。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="BeatBoxButton">
<item name="android:background">@color/dark_blue</item>
</style>
</resources>
样式可以为很多控件共用,更改属性时,只修改公共样式定义即可。
然后去给 Button 添加样式。
style="@style/BeatBoxButton"
跑起来实际上依然是丑丑的,问题不大,就是为了学习嘛。
样式继承
样式也支持继承。一个样式能继承并覆盖其他样式的属性。
比如用命名的方式继承:
<style name="BeatBoxButton.Strong">
<item name="android:textStyle">bold</item>
</style>
或者是指定父样式的方式继承:
<style name="StrongBeatBoxButton" parent="@style/BeatBoxButton">
<item name="android:textStyle">bold&