Android 5.0以上系统常用控件着色指南

简介

当我们新建一个项目的时候,都会给Application或者某些Activity设置theme:

android:theme="@style/AppTheme"

这时就需要我们选择或者自定义一个主题,那每个属性又都是什么含义呢?

来看个例子:

<style name="AppTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
    <!--主色调 -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <!--状态栏颜色-->
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <!--控制各个控件被选中时的颜色-->
    <item name="colorAccent">@color/colorAccent</item>
    <!--页面背景色-->
    <item name="android:windowBackground">@color/colorWindowBg</item>
    <!--底部导航栏颜色-->
    <item name="android:navigationBarColor">@color/colorPrimaryDark</item>
    <!--ToolBar上的Title颜色-->
    <item name="android:textColorPrimary">@color/colorText</item>
    <!--各个控制控件的默认颜色 与colorAccent相反-->
    <item name="android:colorControlNormal">@color/colorPrimary</item>
    <!--控制所有可点击的View的涟漪效果颜色-->
    <item name="android:colorControlHighlight">@color/colorCheck</item>
    <!--控制normal状态下button的颜色-->
    <item name="android:colorButtonNormal">@color/colorPrimary</item>
    <!--EditText 输入框中字体的颜色-->
    <item name="editTextColor">@color/colorText</item>
</style>

相关属性说明

  • 1.colorPrimary: Toolbar导航栏的底色。
  • 2.colorPrimaryDark:状态栏的底色,注意这里只支持Android5.0以上的手机。
  • 3.textColorPrimary:整个当前Activity的字体的默认颜色。
  • 4.android:windowBackground:当前Activity的窗体颜色。
  • 5.colorAccent:CheckBox,RadioButton,SwitchCompat等控件的点击选中颜色
  • 6.colorControlNormal:CheckBox,RadioButton,SwitchCompat等默认状态的颜色。
  • 7.colorButtonNormal:默认状态下Button按钮的颜色。
  • 8.editTextColor:默认EditView输入框字体的颜色。

特别介绍

下面我们要说的是其他一些和颜色相关的属性,这些属性可能你平时并不常用,但合理运用它们不仅可以使你的界面更加绚丽而且可以达到事半功倍的效果。(再次声明以下属性适用于5.0及其以上系统)

1、colorControlHighlight

colorControlHighlight用于控制所有可点击的View的涟漪效果颜色,以button举例来说

普通状态下的button

这里写图片描述

现在我们在AppTheme中添加下面这条属性

<item name="android:colorControlHighlight">@color/colorCheck</item>

这里写图片描述

2、colorButtonNormal

用于控制normal状态下button的颜色(注意和button的background属性的区别,设置colorButtonNormal后button依旧会具有涟漪效果,而设置background就没有涟漪效果了)

设置colorButtonNormal后button的normal状态如下
这里写图片描述

3、android:navigationBarColor

控制底部导航栏的背景色(注意前边必须有android:),例如:
这里写图片描述

常用控件颜色属性

EditText
  • unfocused —— colorControlNormal
  • focus —— colorAccent
  • cursor —— colorAccent
  • text color —— android:textColorPrimary
RadioButton
  • unselected —— colorControlNormal
  • selected —— colorAccent
CheckBox
  • box unchecked —— colorControlNormal
  • box checked —— colorAccent
Toolbar
  • background —— 布局文件中设置android:background=”?attr/colorPrimary
  • overflow icon —— android:textColorPrimary
  • navigation icon —— android:textColorPrimary
  • action icons —— android:textColorPrimary
  • overflow menu background —— android:colorBackground
  • overflow text color —— android:textColorPrimary
ActionBar
  • background —— colorPrimary
  • title color —— android:textColorPrimary
  • overflow icon —— android:textColorPrimary
  • up button —— android:textColorPrimary
  • action icons —— android:textColorPrimary
  • overflow menu background —— android:colorBackground
  • overflow text color —— android:textColorPrimary
Spinner
  • indicator (not pressed) —— colorControlNormal
  • indicator (pressed) —— colorAccent
  • selected entry text color —— “android:textColorPrimary
SwitchCompat
  • thumb switch off —— colorSwitchThumbNormal
  • thumb switch on —— colorAccent
  • track overlay —— colorAccent”
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值