概述
MaterialProgressDrawable,一个Material风格的圆形滚动条,样式比较百搭,在android.support.v4.widget
包中,不过是私有的,但是,好东西怎么能埋没了呢,我们直接把它复制出来就可以用了,哇哈哈~~~(找不到就点我 - -)
可以做什么?
MaterialProgressDrawable大概可以实现以下效果:
- 指示进度从0~100%(当然,数字是不自带的)
- 不停转圈圈 - -
- 官方已经实现的下拉刷新(SwipeRefreshLayout)
简单效果
Demo很简单,想看代码就点我
使用
MaterialProgressDrawable其实就是个Drawable,所以他需要一个载体,一般可以把它设置到一个ImageView上。
ImageView imageView = ……
//创建
MaterialProgressDrawable progress = = new MaterialProgressDrawable(context,imageView);
//设置到imageView
imageView.setImageDrawable(progress);
- 1
- 2
- 3
- 4
- 5
还有很多属性可以设置,看下面的列表。
常用方法
返回值 | 方法和描述 |
---|---|
void | updateSizes(int size) 设置大小,可以选LARGE、DEFAULT |
void | showArrow(boolean show) 设置是否显示箭头 |
void | setArrowScale(float scale) 设置箭头缩放大小,0f~1f |
void | setStartEndTrim(float startAngle, float endAngle) 设置进度条的开始和结尾,也就是长度,范围0f~1f,比如 setStartEndTrim(0f,0.8f) |
void | setProgressRotation(float rotation) 设置旋转角度,0f~1f |
void | setBackgroundColor(int color) 设置背景颜色 |
void | setColorSchemeColors(int… colors) 设置进度条的颜色,可以是多种颜色,转一圈换一个 |
void | setAlpha(int alpha) 设置透明度,0-255, 注意:默认一开始透明度是0 |
void | start() 开始转圈动画 |
void | stop() 终止进行中的动画,并且将进度条长度归零 |
int | getAlpha() 获取当前透明度 |
int | getIntrinsicHeight() 获取Drawable高度 |
int | getIntrinsicWidth() 获取Drawable宽度 |