修改系统组件样式

系统所有组件的样式声明都在data-res-values-styles.xml中,如果我们想要修改某个系统组件的样式只需要拷贝它的样式到本地后修改一下就行了。

  • 自定义ProgressBar样式

    1. 去系统的styles.xml中搜寻ProgressBar的样式
       <style name="Widget.ProgressBar">
           <item name="android:indeterminateOnly">true</item>
           <item name="android:indeterminateDrawable">@android:drawable/progress_medium_white</item>
           <item name="android:indeterminateBehavior">repeat</item>
           <item name="android:indeterminateDuration">3500</item>
           <item name="android:minWidth">48dip</item>
           <item name="android:maxWidth">48dip</item>
           <item name="android:minHeight">48dip</item>
           <item name="android:maxHeight">48dip</item>
       </style>
      
    2. 看到有一个属性引用了@android:drawable/progress_medium_white,内容如下

       <animated-rotate xmlns:android="http://schemas.android.com/apk/res/android"
           android:drawable="@drawable/spinner_white_48"
           android:pivotX="50%"
           android:pivotY="50%"
           android:framesCount="12"
           android:frameDuration="100" /> 
       //这样报错了,是因为framesCount和framesDuration这两个属性在高版本才有,在2.2没有所以把这两个属性给去了就可以了
       这个文件定义了一个旋转动画的背景,它里面引用了drawable中的spinner_white_48这个图片
      
    3. 自定义一个样式继承Widget.ProgeessBar,然后重写android:indeterminateDrawable让它使用我们自己的资源 ```xml

results matching ""

    No results matching ""