Android系统已经被各大厂商改的面目全非,各种系统组件在不同手机上显示的效果完全不同,现在要想在开发中想要保持统一的界面风格,必须全部修改系统组件的样式,现在我们需要修改系统默认的**ProgressBar
**,就Android系统本身来说,不同的版本组件的样式也不同。
##系统中ProgressBar样式
找到android-sdk
目录下的platforms\android-15\data\res\values
中的styles.xml
,然后查找ProgressBar,可以发现
1 2 3 4 5 6 7 8 9 10
| <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>
|
android:indeterminateDrawable
的值为**@android:drawable/progress_medium_white
**,找到drawable目录下的progress_medium_white.xml,打开
1 2 3 4 5 6 7 8
| <?xml version="1.0" encoding="utf-8"?> <animated-rotate xmlns:android="https://schemas.android.com/apk/res/android" android:drawable="@drawable/spinner_white_48" android:pivotX="50%" android:pivotY="50%" android:framesCount="12" android:frameDuration="100" />
|
就是一个简单的spinner_white_48.png的**旋转动画
**
##自定义android:indeterminateDrawable
的值
###旋转动画
1 2 3 4 5 6 7 8 9 10 11
| <?xml version="1.0" encoding="utf-8"?> <rotate xmlns:android="https://schemas.android.com/apk/res/android" android:pivotX="50%" android:pivotY="50%" android:fromDegrees="0" android:toDegrees="360"> <bitmap android:src="@mipmap/icon_timeline_stop_blue" android:antialias="true" android:filter="true"></bitmap> </rotate>
|
然后
1 2 3 4 5
| <ProgressBar android:layout_width="wrap_content" android:layout_height="wrap_content" android:indeterminateDrawable="@drawable/loading_anim" android:id="@+id/progressBar" />
|
即可制作简单的旋转样式的的ProgressBar
###帧动画
还有一种样式的为**帧动画
**,这里有一点需要注意的
两个图片,制作帧动画
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="https://schemas.android.com/apk/res/android" android:oneshot="false"> <item android:duration="100"> <clip android:clipOrientation="horizontal" android:drawable="@mipmap/kaoyan_tip_f1" android:gravity="left" /> </item><item android:duration="100"> <clip android:clipOrientation="horizontal" android:drawable="@mipmap/kaoyan_tip_f2" android:gravity="left" /> </item>
</animation-list>
|
需要注意的是,需要使用**clip
节点来指定android:clipOrientation
和 android:gravity="left"
**,否则可能出现不同屏幕显示不完整的情况