Android三种实现自定义ProgressBar的方式介绍
2016-06-17 13:54
399 查看
[摘要]本文介绍Android三种实现自定义ProgressBar的方式,并提供详细的示例代码供参考。
定义res/anim/loading.xml如下:
View Row Code
定义res/drawable/progress_small.xml如下:
View Row Code
定义res/drawable/progress_small.xml如下:
View Row Code
使用方法都一样, 如下:
View Row Code
也可以根据需要通过设置style来设置其大小! 一般只有使用默认的ProgrressBar的时候采用。对于上述三种自定义的方式,建议修改直接修改图片大小,或者shape;
View Row Code
设置成progressBarStyleSmall之后,图标变小;
设置成progressBarStyleLarge之后,图标变大。
一、通过动画实现
定义res/anim/loading.xml如下:View Row Code
1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <animation-list android:oneshot="false" |
3 | xmlns:android="http://schemas.android.com/apk/res/android"> |
4 | <item android:duration="150" android:drawable="@drawable/loading_01" /> |
5 | <item android:duration="150" android:drawable="@drawable/loading_02" /> |
6 | <item android:duration="150" android:drawable="@drawable/loading_03" /> |
7 | <item android:duration="150" android:drawable="@drawable/loading_04" /> |
8 | <item android:duration="150" android:drawable="@drawable/loading_05" /> |
9 | <item android:duration="150" android:drawable="@drawable/loading_06" /> |
10 | <item android:duration="150" android:drawable="@drawable/loading_07" /> |
11 | </animation-list> |
二、通过自定义颜色实现
定义res/drawable/progress_small.xml如下:View Row Code
1 | <?xml version="1.0" encoding="utf-8"?> |
2 | <rotate xmlns:android="http://schemas.android.com/apk/res/android" |
3 | android:fromDegrees="0" |
4 | android:pivotX="50%" |
5 | android:pivotY="50%" |
6 | android:toDegrees="360" > |
7 | <shape |
8 | android:innerRadiusRatio="3" |
9 | android:shape="ring" |
10 | android:thicknessRatio="8" |
11 | android:useLevel="false" > |
12 | <gradient |
13 | android:centerColor="#FFFFFF" |
14 | android:centerY="0.50" |
15 | android:endColor="#1E90FF" |
16 | android:startColor="#000000" |
17 | android:type="sweep" |
18 | android:useLevel="false" /> |
19 | </shape> |
20 | </rotate> |
三、使用一张图片进行自定义
定义res/drawable/progress_small.xml如下:View Row Code
1 | <ProgressBar |
2 | android:layout_width="wrap_content" |
3 | android:layout_height="wrap_content" |
4 | android:indeterminateDrawable="@drawable/progress_small"/> |
View Row Code
1 | <ProgressBar |
2 | android:layout_width="wrap_content" |
3 | android:layout_height="wrap_content" |
4 | android:indeterminateDrawable="@drawable/progress_small"/> |
View Row Code
1 | <ProgressBar |
2 | android:layout_width="wrap_content" |
3 | android:layout_height="wrap_content" |
4 | android:layout_centerInParent="true" |
5 | style="?android:attr/progressBarStyleSmall" |
6 | android:indeterminateDrawable="@drawable/progress_small"/> |
设置成progressBarStyleLarge之后,图标变大。
相关文章推荐
- android listview系列之初步接触listview(一)
- Android传感器(一):传感器列表
- 搭建android框架管理activity类
- Android开发环境配置
- IntentService分析
- android xml中的代码提示不全
- Android自绘动画实现与优化实战——以Tencent OS录音机波形动画为实例
- Android中Selsetor基本使用二,选中时改变按钮背景
- 我的Android进阶之旅------>Android 关于arm64-v8a、armeabi-v7a、armeabi、x86下的so文件兼容问题
- Android Studio修改包名
- Android中Selsetor基本使用一,按下时改变按钮背景
- 3D效果的ViewPager
- 【Android】ListView中EditText焦点问题
- Android 沉浸式状态栏的三种实现方式
- Android 内部存储和Cache简单介绍
- Android高级_第三方框架Xutils
- 研究一个Android list视图下拉动效开源库
- 5R 内存优化
- Android高级_第三方下载工具Volley
- Android-qq钱包支付集成