三种方式实现自定义圆形页面加载中效果的进度条
To get a ProgressBar in the default theme that is to be used on white/light back ground, use one of the inverse styles:
<ProgressBar style="@android:style/Widget.ProgressBar.Inverse"/>
<ProgressBar style="@android:style/Widget.ProgressBar.Large.Inverse"/>
<ProgressBar style="@android:style/Widget.ProgressBar.Small.Inverse"/>
进度条
一、通过动画实现
定义res/anim/loading.xml如下:
在layout文件中引用如下:
二、通过自定义颜色实现
定义res/drawable/dialog_style_xml_color.xml如下:
在layout文件中引用如下:
三、使用一张图片进行自定义
定义res/drawable/dialog_style_xml_icon.xml如下:
在layout文件中引用如下:
或者使用<animated-rotate/>旋转一张图片:
custom_progress_draw.xml:
circular就是一张转动效果的静态图片。
main.xml如下:
新浪下载图片的ProgressBar进度样式源码
http://www.eoeandroid.com/code/2012/0711/1851.html
一个绚丽的loading动效分析与实现!
http://blog.csdn.net/tianjian4592/article/details/44538605
很酷的Android下载进度条:DownloadProgressBar
SnailBar蜗牛进度条
https://github.com/android-cjj/SnailBar
一个可配置的小球环绕加载效果
http://www.jcodecraeer.com/a/opensource/2015/1127/3727.html
To get a ProgressBar in the default theme that is to be used on white/light back ground, use one of the inverse styles:
<ProgressBar style="@android:style/Widget.ProgressBar.Inverse"/>
<ProgressBar style="@android:style/Widget.ProgressBar.Large.Inverse"/>
<ProgressBar style="@android:style/Widget.ProgressBar.Small.Inverse"/>
进度条
<ProgressBar android:layout_width="fill_parent" android:layout_height="wrap_content" style="?android:attr/progressBarStyleHorizontal" />
一、通过动画实现
定义res/anim/loading.xml如下:
<?xml version="1.0" encoding="UTF-8"?> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="150" android:drawable="@drawable/loading_01" /> <item android:duration="150" android:drawable="@drawable/loading_02" /> <item android:duration="150" android:drawable="@drawable/loading_03" /> <item android:duration="150" android:drawable="@drawable/loading_04" /> <item android:duration="150" android:drawable="@drawable/loading_05" /> <item android:duration="150" android:drawable="@drawable/loading_06" /> <item android:duration="150" android:drawable="@drawable/loading_07" /> </animation-list>
在layout文件中引用如下:
<ProgressBar android:layout_width="wrap_content" android:layout_height="wrap_content" android:indeterminate="false" android:indeterminateDrawable="@anim/loading" />
二、通过自定义颜色实现
定义res/drawable/dialog_style_xml_color.xml如下:
<?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"> <shape android:shape="ring" android:innerRadiusRatio="3" android:thicknessRatio="8" android:useLevel="false"> <gradient android:type="sweep" android:useLevel="false" android:startColor="#FFFFFF" android:centerColor="#FFDC35" android:centerY="0.50" android:endColor="#CE0000" /> </shape> </rotate>
在layout文件中引用如下:
<ProgressBar android:layout_width="wrap_content" android:layout_height="wrap_content" android:indeterminate="false" android:indeterminateDrawable="@drawable/dialog_style_xml_color" />
三、使用一张图片进行自定义
定义res/drawable/dialog_style_xml_icon.xml如下:
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <rotate android:drawable="@drawable/dialog_progress_round" android:fromDegrees="0.0" android:toDegrees="360.0" android:pivotX="50.0%" android:pivotY="50.0%" /> </item> </layer-list>
在layout文件中引用如下:
<ProgressBar android:layout_width="wrap_content" android:layout_height="wrap_content" android:indeterminate="false" android:indeterminateDrawable="@drawable/dialog_style_xml_icon" />
或者使用<animated-rotate/>旋转一张图片:
<ProgressBar style="@android:style/Widget.ProgressBar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:indeterminateDrawable="@drawable/custom_progress_draw" android:indeterminate="false" />
custom_progress_draw.xml:
<?xml version="1.0" encoding="utf-8"?> <animated-rotate xmlns:android="http://schemas.android.com/apk/res/android" android:drawable="@drawable/circular" android:pivotX="50%" android:pivotY="50%" />
circular就是一张转动效果的静态图片。
main.xml如下:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center" android:background="#FFF"> <Button android:text="@string/anim" android:id="@+id/anim" android:layout_width="120dip" android:layout_height="wrap_content" /> <Button android:text="@string/color" android:id="@+id/color" android:layout_width="120dip" android:layout_height="wrap_content" /> <Button android:text="@string/icon" android:id="@+id/icon" android:layout_width="120dip" android:layout_height="wrap_content" /> </LinearLayout>
新浪下载图片的ProgressBar进度样式源码
http://www.eoeandroid.com/code/2012/0711/1851.html
一个绚丽的loading动效分析与实现!
http://blog.csdn.net/tianjian4592/article/details/44538605
很酷的Android下载进度条:DownloadProgressBar
SnailBar蜗牛进度条
https://github.com/android-cjj/SnailBar
一个可配置的小球环绕加载效果
http://www.jcodecraeer.com/a/opensource/2015/1127/3727.html