主题和样式
主题:Theme,是针对窗体级别的,改变activity窗体的界面形式,它只能在application和activity标签下使用
样式:Style是针对UI控件级别的,改变指定单个控件的界面形式
系统自带的Theme and Style的标准属性文档
R.styleable.Theme该链接提供了系统自带的,可在主题(Theme)中使用的标准属性的列表
R.style该链接可查到系统自带的,在样式(Style)中使用的标准属性的列表
单个视图View的使用
一、在res/values/目录下自定义以节点的.xml文件(或直接在styles.xml也行)定义我们想要实现的样式
简化TextView为例
<?xml version="1.0" encoding="utf-8"?>二、在对应的控件上调用该样式
继承
样式具有继承关系,可以通过
//.xml文件,@是说明系统已经定义过的,@android:style/ 是必须带上的
//控件
如果想要继承我们自定义的
<style name="CodeFont.Blue.Big">
<item name="android:textColor">#0000FF</item>
<item name="android:textSize">30sp</item>
</style>
Actvity或Application使用(Theme主题的使用)
声明主题的例子:
<?xml version="1.0" encoding="utf-8"?>要为所有Activity设置主题,在AndroidManifest.xml清单文件中的节点,加入带样式名称的android:theme属性
要为应用中某一个Activity应用主题,在AndroidManifest.xml清单文件中的节点,加入带样式名称的android:theme属性
//系统的
//自定义的
如果想用某个系统自带的主题,但想做些调整,可以使用样式的继承属性,然后修改想改的属性
#b0b0ff
colorPrimary 应用的主色调,ActionBar默认使用该颜色,ToolBar导航栏的底色
colorPrimaryDark应用的主要暗色调,StatusBar状态栏默认使用改颜色
colorAccent 控件选中的默认颜色,如EditText 的闪动光标
android:colorControlNormal 控件未选中时的默认颜色,如复选框
android:textColorPrimary 应用的主要文字颜色,ActionBar的标题文字默认颜色
android:textColorSecondary 辅助的文字颜色,一般比textColorPrimary的颜色弱一点,用于一些弱化的表示
android:windowBackground 窗体背景颜色,必须用color.xml定义的颜色
android:navigationBarColor 底部操作栏颜色 API>21
statusBarColor 状态栏颜色,默认使用colorPrimaryDark
colorForeground 应用的前景色,ListView的分割线,switch滑动区默认使用该颜色
colorBackground 应用的背景色,popMenu的背景默认使用该颜色
colorControlHighlight 控件按压时的色调
colorControlActivated 控件选中时的颜色,默认使用colorAccent
colorButtonNormal 默认按钮的背景颜色
editTextColor 默认EditView输入框字体的颜色。
textColor Button,textView的文字颜色
textColorPrimaryDisableOnly RadioButton,checkbox等控件的文字
colorSwitchThumbNormal switch thumbs 默认状态的颜色. (switch off)