Android默认控件主题样式颜色值设置

前段时间,有个需求要改ProgressBar显示的颜色,刚开始我以为这个控件本身有这个属性,
但是找了很久没有,其他的实现方法也是很麻烦的,后面看到可以改变Activity的主题属性改变对应的空间的默认颜色。

系统默认样式颜色如下:

不同控件颜色对应的代码

<style name="DialerStyle" parent="android:Theme.Material.Light">  
       <!--应用的主要文字颜色,actionBar的标题文字默认使用该颜色-->  
       <item name="android:textColorPrimary">#FFFFFF</item> 

       <!--辅助的文字颜色,一般比textColorPrimary的颜色弱一点,用于一些弱化的表示-->  
       <item name="android:textColorSecondary">#C1C1C1</item> 

       <!--应用的主要色调,actionBar默认使用该颜色,Toolbar导航栏的底色-->  
       <item name="android:colorPrimary">#2A56C6</item>  

       <!--应用的主要暗色调,statusBarColor 默认使用该颜色-->  
       <item name="android:colorPrimaryDark">#2A56C6</item> 

       <!--状态栏颜色,默认使用 colorPrimaryDark-->  
       <item name="android:statusBarColor">#00FFFF</item> 

       <!--底部栏颜色-->  
       <item name="android:navigationBarColor">#FF1493</item>  

       <!--窗口背景颜色,此处不允许直接赋值如 #FFFFFF,必须在color中定义使用-->  
       <item name="android:windowBackground">@android:color/white</item>  

       <!--控件选中时的颜色,默认使用colorAccent-->  
       <item name="android:colorControlActivated">#FF7F50</item> 

       <!--控件按压时的色调-->  
       <item name="android:colorControlHighlight">#FF00FF</item> 

       <!--CheckBox,RadioButton,SwitchCompat等默认状态的颜色-->  
       <item name="android:colorControlNormal">#FFD700</item>  

       <!--默认按钮的背景颜色-->  
       <item name="android:colorButtonNormal">#1C71A9</item>

       <!--一般控件的选中效果默认采用该颜色,如 CheckBox,RadioButton,SwitchCompat,ProcessBar等-->  
       <item name="android:colorAccent">#008000</item> 

       <!--默认 EditView 输入框字体的颜色-->  
       <item name="android:editTextColor">#E6E6FA</item> 

       <!--默认 Button,TextView的文字颜色-->  
       <item name="android:textColor">#B0C4DE</item>  

       <!--RadioButton checkbox等控件的文字-->  
       <item name="android:textColorPrimaryDisableOnly">#1C71A9</item>  
   </style>

这些默认的样式颜色,大家有时间可以自己试验一下,看看效果。

使用方式

这个在Activity的Style中添加对应的Item就可以了
比如:这个styles.xml的代码

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">#f00</item>
    </style>

</resources>

colorPrimary设置了普通标题栏背景的默认颜色
colorPrimaryDark设置了手机最上面的状态栏背景的默认颜色
colorAccent设置了一些控件被选中的颜色,比如CheckBox,RadioButton,SwitchCompat,ProcessBar
当然这个Style可以针对整个App,也可以针对单个Activity

有人会想说上面设置默认颜色的Item給单个控件设置Style有用吗,我试过没有用!设置后完全没有起到作用!

上面我要修改进度条ProgressBar的显示颜色,修改colorAccent就可以的,因为进度条进行中的状态肯定是选中的状态!

其实ProgressBar是可以通过改一些东西来实现单个空间的颜色改变的,后面也是实现了,但是是别人提供了一些帮助才完成的。
我这个方法是网上完全没有的,设置了相关的背景和动画,网上的方法我都试过了,基本不行或者太麻烦!
关于具体的实现后面有时间再发布出来。