Android-主题和样式

本文介绍了Android中主题和样式的区别,主题针对窗体级别,样式针对UI控件级别。还给出了系统自带主题和样式标准属性文档的链接,说明了单个视图View样式的自定义和调用方法,以及主题在Activity或Application中的使用,同时列举了一些常用的颜色属性。

主题和样式

主题: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)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值