当你想从网络中加载一张图片时,你可能会用到进度条来显示加载图片的进度,本项目采用Drawable注入式,支持Fresco,UIL,GLIDE,Picasso 四大图片框架,参考了Fresco。
```Java compile 'com.jpeng:LoadingProgress:1.1.0' ``` [Jar包下载](https://github.com/peng8350/LoadingProgress/blob/master/loadprogress.jar) # 主要功能: - 可动态改变进度文字大小,颜色,可显性。-
可改变进度和背景颜色。
-
圆环支持渐变。
-
圆环有两种风格。
-
支持ListView缓存;
-
多种不同的进度条 ....
具体可参考DEMO
CircleProgress progress = new CircleProgress.Builder().
setTextColor(Color.RED)
//设置你的属性...
.build();
//如果你使用的是ImageView(Glide,UIL,Picasso)
progress.inject(your ImageView);
//如果你使用的框架是Fresco
progress.injectFresco(your SimpleDraweeView)
/*
* 恭喜你,你不需要监听图片加载进度的变化
*
*/
//在UIL提供的接口ImageLoadingProgressListener里面:
@Override
public void onProgressUpdate(String s, View view, int i, int i1) {
progress.setLevel(i);
progress.setMaxValue(i1);
}
/*
*如果你使用的是Glide或者Picasso
*你可以参考一下我的demo如何实现监听下载进度的回调
×但是在我的demo这种方式未必是对的
*因为在我的测试里面,发现有一些图片没能加载出来,
*可能是okhttp的原因
*/
//在你的进度监听回调方法里面
progress.setLevel(current);
progress.setMaxValue(total);
如果以上我所实现的进度都不是你想要的,你可以自定义继承BaseProgress,自己画一个你想要的进度出来:
public class CustomProgress extends BaseProgress{
@Override
public void DrawOther(Canvas canvas){
//Custom yourself
}
}
`setTextSize` 设置进度条中间文字大小
`setTextShow` 设置中间文字是否显示
`setTextType` 设置字体类型
`setCustomText` 设置自定义文本代替原始数字变化
`setTextXOffset` 设置离中心点X轴的距离
`setTextYOffset` 设置离中心点Y轴的距离
setCircleWidth
设置圆环的宽度
setCircleRadius
设置圆环的半径
setProgressColor
设置圆环已经加载进度中的颜色
setBottomColor
设置圆环未加载背景的颜色
setStyle
变换风格,枚举CircleStyle.Fan or Ring
setGradientColor
设置渐变颜色
setBottomWidth
设置底部的线条宽度
setFanPadding
设置在FanStyle里圆离外部线的距离
setRecBottomColor
设置长进度底部的颜色
setRecProgressColor
设置长进度已经加载的背景颜色
setProgressColor
设置圆环已经加载进度中的颜色
setRecHeight
设置长进度的宽度
setRectProgressImage
使用自定义图片来替换文字来展示(设置了就不会显示文字)
setPosition
设置展示指示器的位置
`setDirection` 设置旋转方向 `EnableAlpha` 允许alpha随着进度变化而变化 # 希望
如果你发现可以监听Xutils2,3或者volley等其他框架下载进度变化的方法,可以告诉我,方便我修改。
如果发现BUG,也可以在issue写下。
一个在校大三的学生,热爱编程,尤其是Android
Email:[email protected]