自带动画效果的圆形进度图, 在SwipeRefreshLayout中被应用;
只支持api11以上的MaterialDesign样式的圆形动画不确定进度的进度指示器
设置到ImageView上, 然后通过start()
和stop()
方法控制其开始和结束
final CircularProgressDrawable drawable = new CircularProgressDrawable(this);
drawable.setStrokeWidth(10f);
drawable.setStrokeCap(Paint.Cap.ROUND);
drawable.setCenterRadius(50f);
mDataBinding.iv.setImageDrawable(drawable);
复制代码
设置圆角
mDrawable.setStrokeCap(Paint.Cap.ROUND);
复制代码
设置箭头
void setArrowEnabled(boolean show)
// 必须先启用箭头
void setArrowDimensions(float width, float height)
// 设置箭头的尺寸
void setArrowScale(float scale)
// 在箭头的尺寸上缩放倍数, 如果没有设置尺寸则无效
复制代码
设置开始和结束的位置
void setStartEndTrim(float start, float end)
// 开始和结束的角度
复制代码
boolean isRunning()
// 是否在运行中
void setAlpha(int alpha)
// 设置透明度
void setBackgroundColor(int color)
// 背景颜色
void setCenterRadius(float centerRadius)
// 设置环形的半径(控制环形的尺寸)
void setColorFilter(ColorFilter colorFilter)
void setColorSchemeColors(int... colors)
// 循环颜色
void setProgressRotation(float rotation)
// 旋转次数
void setStrokeCap(Paint.Cap strokeCap)
// 设置环形的节点显示(Paint.Cap.ROUND即圆角)
void setStrokeWidth(float strokeWidth)
// 环形的宽度
void setStyle(int size)
// 设置尺寸(LARGE和DEFAULT)
void start() // 开始
void stop() // 结束
复制代码