自带动画效果的圆形进度图, 在SwipeRefreshLayout中被应用
只支持api11以上的MaterialDesign样式的圆形动画不确定进度的进度指示器
我平时项目开发必备框架
- Android上最强网络请求 Net
- Android上最强列表(包含StateLayout) BRV
- Android最强缺省页 StateLayout
- JSON和长文本日志打印工具 LogCat
- 支持异步和全局自定义的吐司工具 Tooltip
- 开发调试窗口工具 DebugKit
- 一行代码创建透明状态栏 StatusBar
设置到ImageView上, 然后通过start()和stop()方法控制其开始和结束
val drawable = CircularProgressDrawable(context).apply {
strokeWidth = 10f
strokeCap = Paint.Cap.ROUND
centerRadius = 50f
arrowEnabled = true
start()
}
findViewById<ImageView>(R.id.iv_progress).setImageDrawable(drawable)
设置圆角
mDrawable.setStrokeCap(Paint.Cap.ROUND);
设置箭头
public void setArrowEnabled(boolean show)
// 必须先启用箭头
public void setArrowDimensions(float width, float height)
// 设置箭头的尺寸
public void setArrowScale(float scale)
// 在箭头的尺寸上缩放倍数, 如果没有设置尺寸则无效
设置开始和结束的位置
public void setStartEndTrim(float start, float end)
// 开始和结束的角度
public boolean isRunning()
// 是否在运行中
public void setAlpha(int alpha)
// 设置透明度
public void setBackgroundColor(int color)
// 背景颜色
public void setCenterRadius(float centerRadius)
// 设置环形的半径(控制环形的尺寸)
public void setColorFilter(ColorFilter colorFilter)
public void setColorSchemeColors(int... colors)
// 循环颜色
public void setProgressRotation(float rotation)
// 旋转次数
public void setStrokeCap(Paint.Cap strokeCap)
// 设置环形的节点显示(Paint.Cap.ROUND即圆角)
public void setStrokeWidth(float strokeWidth)
// 环形的宽度
public void setStyle(int size)
// 设置尺寸(LARGE和DEFAULT)
public void start() // 开始
public void stop() // 结束