大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
小编这次要给大家分享的是用实例代码详解Android中倒计时控件CountDownView,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。
创新互联是专业的松溪网站建设公司,松溪接单;提供成都做网站、成都网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行松溪网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
一个精简可自定义的倒计时控件,使用 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的文章,如果觉得文章内容写得不错的话,可以把它分享出去给更多人看到。