标签:android progressbar 样式 自定义 默认
Android系统已经被各大厂商改的面目全非,各种系统组件在不同手机上显示的效果完全不同,现在要想在开发中想要保持统一的界面风格,必须全部修改系统组件的样式,现在我们需要修改系统默认的ProgressBar
,就Android系统本身来说,不同的版本组件的样式也不同。
找到android-sdk
目录下的platforms\android-15\data\res\values
中的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>
android:indeterminateDrawable
的值为@android:drawable/progress_medium_white
,找到drawable目录下的progress_medium_white.xml,打开
<?xml version="1.0" encoding="utf-8"?>
<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" />
就是一个简单的spinner_white_48.png的旋转动画
android:indeterminateDrawable
的值<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://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>
然后
<ProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:indeterminateDrawable="@drawable/loading_anim"
android:id="@+id/progressBar" />
即可制作简单的旋转样式的的ProgressBar
还有一种样式的为帧动画
,这里有一点需要注意的
两个图片,制作帧动画
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://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"
,否则可能出现不同屏幕显示不完整的情况
标签:android progressbar 样式 自定义 默认
原文地址:http://blog.csdn.net/hpu_zyh/article/details/45288151