首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android 5.0以上系统常用控件着色指南

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

作者头像
蜻蜓队长
发布2018-08-03 11:31:35
8280
发布2018-08-03 11:31:35
举报
文章被收录于专栏:Android机动车Android机动车

简介

当我们新建一个项目的时候,都会给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>

相关属性说明

  • colorPrimary: Toolbar导航栏的底色。
  • colorPrimaryDark:状态栏的底色,注意这里只支持Android5.0以上的手机。
  • textColorPrimary:整个当前Activity的字体的默认颜色。
  • android:windowBackground:当前Activity的窗体颜色。
  • colorAccent:CheckBox,RadioButton,SwitchCompat等控件的点击选中颜色
  • colorControlNormal:CheckBox,RadioButton,SwitchCompat等默认状态的颜色。
  • colorButtonNormal:默认状态下Button按钮的颜色。
  • 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"
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-02-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Android机动车 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 特别介绍
    • 1、colorControlHighlight
      • 2、colorButtonNormal
        • 3、android:navigationBarColor
        • 常用控件颜色属性
          • EditText
            • RadioButton
              • CheckBox
                • Toolbar
                  • ActionBar
                    • Spinner
                      • SwitchCompat
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档