一个精简可自定义的倒计时控件,使用 Canvas.drawArc() 绘制。实现了应用开屏页的圆环扫过的进度条效果。
代码见https://github.com/hanjx-dut/CountDownView
使用
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
dependencies {
implementation 'com.github.hanjx-dut:CountDownView:1.1'
}
实现的效果
效果图
对应的view:
全部属性:
文字部分没有提供更多的自定义属性,可以通过 setTextDrawer()对画笔和文字进行自定义,如 demo 中的第五个:
CountDownView countDownView = findViewById(R.id.count_down_5);
countDownView.setTextDrawer(new CountDownView.TextDrawer() {
@Override
public void setTextPaint(Paint paint, long leftTime, int textMode) {
if (leftTime < 2000) {
paint.setTextSize(SizeUtils.sp2px(12));
}
paint.setTypeface(Typeface.DEFAULT_BOLD);
paint.setColor(0xFFFF802E);
}
@Override
public String getText(long leftTime, int mode, String originText) {
if (leftTime < 2000) {
return "跳过";
}
return String.format("%ss", leftTime == 0 ? leftTime : leftTime / 1000 + 1);
}
});
监听
countDownView.setCountDownListener(new CountDownView.CountDownListener() {
@Override
public void onTick(long leftTime, float finishedAngle) {
// leftTime: 剩余时间, finishedAngle: 扫过的角度
}
@Override
public void onStop(boolean reset) {
// 主动调用 countDownView.stop() 时会触发此回调
}
@Override
public void onFinished() {
}
});
ps:接口都有默认实现,可以选择实现任意方法
总结
到此这篇关于Android 倒计时控件 CountDownView的实例代码详解的文章就介绍到这了,更多相关Android 倒计时控件 CountDownView内容请搜索考高分网以前的文章或继续浏览下面的相关文章希望大家以后多多支持考高分网!



