English Version / 中文版本
Android 加载控件库,简洁、易用、可定制性强。用于快速实现类似 iOS 的 “加载中” 等弹出框。
类似于 iOS 中的 MBProgressHUD
关键词 Progressbar, Progresswheel, HUD, Android, Loading
最小支持 SDK 版本: API 9 ( Android 2.3 )
- 1.2.1
- gradle:
compile 'cc.cloudist.acplibrary:library:1.2.1'
- 花瓣类型
ACProgressFlower dialog = new ACProgressFlower.Builder(this)
.direction(ACProgressConstant.DIRECT_CLOCKWISE)
.themeColor(Color.WHITE)
.text("Title is here)
.fadeColor(Color.DKGRAY).build();
dialog.show();
- 圆饼类型
ACProgressPie dialog = new ACProgressPie.Builder(this)
.ringColor(Color.WHITE)
.pieColor(Color.WHITE)
.updateType(ACProgressConstant.PIE_AUTO_UPDATE)
.build();
dialog.show();
- 自定义类型
ACProgressCustom dialog = new ACProgressCustom.Builder(this)
.useImages(R.drawable.p0, R.drawable.p1, R.drawable.p2, R.drawable.p3)
.build();
dialog.show();
目前提供3种类型的加载框:
下面是一些通用的配置:
-
sizeRatio
背景的大小。值应为小于1的浮点数,表示以屏幕较短一边的相应比例为框体大小,即:
背景边长 = 屏幕较短一边的长度 * sizeRatio
需要注意的是花瓣类型带文字的情况,下文有详细说明 -
bgColor
背景的颜色,整型值。 -
bgAlpha
背景的透明度,0为全透明,1为不透明,其他透明度设置也类似。 -
bgCornerRadius
背景四个圆角的半径。
其中 bgColor、bgAlpha、bgCornerRadius 不适用于自定义类型
- 花瓣类型
最常见的类型,支持标题文字显示
设置 | 说明 |
---|---|
themeColor | 花瓣起始颜色 |
borderPadding | 花瓣外沿与背景边缘的距离占背景边长的比例(背景边长指的是根据sizeRatio计算出来的长度) |
centerPadding | 花瓣内沿与背景中心的距离占背景边长的比例(背景边长指的是根据sizeRatio计算出来的长度) |
fadeColor | 花瓣终止颜色 |
petalCount | 花瓣数量 |
petalAlpha | 花瓣的透明度 |
petalThickness | 花瓣的粗细 |
direction | 花瓣的旋转方向,顺时针ACProgressConstant.DIRECT_CLOCKWISE 或逆时针DIRECT_ANTI_CLOCKWISE |
speed | 旋转速度,每秒的帧数 |
text | 文本标题,显示在花瓣下方 |
textSize | 文字大小 |
textColor | 文字颜色 |
textAlpha | 文字透明度 |
textMarginTop | 文字与花瓣之间的距离 |
isTextExpandWidth | 在设置了文字的情况下是否扩展背景大小值正方形。设置了文字会导致背景高度变大,如果设为true 花瓣仍然根据sizeRatio的大小绘制但整个宽度会扩展至与高度相等,花瓣水平居中;如果设为false 背景为长方形 |
- 圆饼类型
适合显示进度,支持自动更新进度或者手动更新进度。
设置 | 说明 |
---|---|
ringColor | 圆环的颜色 |
ringAlpha | 圆环的透明度 |
ringThickness | 圆环的粗细 |
ringBorderPadding | 圆环与背景外沿与背景边缘的距离占背景边长的比例 |
pieColor | 圆饼的颜色 |
pieAlpha | 圆饼的透明度 |
pieRingDistance | 圆饼与圆环的距离占背景边长的比例 |
updateType | 更新模式。自动更新PIE_AUTO_UPDATE 或者手动更新PIE_MANUAL_UPDATE 。手动更新需要调用setPiePercentage() 。 |
speed | 自动更新模式下每秒的帧数 |
pieces | 自动更新模式下圆饼被切分的块数 |
- 自定义类型
类似于 GIF,支持 res/drawable 资源数组 或者 图片文件数组 作为数据源。
设置 | 说明 |
---|---|
useImages | 使用的图片资源 ID |
useFiles | 使用的图片文件对象 |
speed | 每秒的帧数 |
- 遇到任何问题都可以优先尝试 clean 工程
- 1.2.0+ 版本如果需要点击弹框之外的区域关闭请使用
setCanceledOnTouchOutside(true)
Dialog
的绝大部分方法都支持- 强烈建议使用 1.2.0+ 版本
- 如果使用 1.1.0 以前的版本 (不含1.1.0), 如果存在 gradle 错误, 可以在 Manifest 的
application
下增加tools:ignore="label
"解决 - 自定义类型中不要同时使用
useImages
与useFiles
, 否则只有最后一次设置是有效的. - 默认的配置在多数情况下表现良好. 如果需要自定义样式, 请调节各个配置以达到最佳的显示效果.