简单好看的Android圆形进度条对话框开源库

简介

本文介绍CircleProgressDialog开源库的使用及实现的详细过程,该开源库主要实现以下几个功能:

  • 自定义一个好看的圆形进度条,可直接在布局文件中使用,可设置圆环宽度、圆环颜色、圆环阴影大小等属性;

  • 实现自定义的dialog,用于用户等待时的显示,通过简单的代码即可直接调用显示,同时提供api进行颜色、文字等设置

通过本文可了解到自定义view的相关知识及自定义dialog的方法

github链接如下,觉得还可以请帮忙点下star~

github链接

使用效果

首先看下使用效果:

0?wx_fmt=gif

有两种使用方式

布局文件中使用

提供loading_color、loading_width、shadow_offset进行设置

0?wx_fmt=png

代码中使用,对话框形式弹出

如果直接采用默认设置直接调用以下代码即可

0?wx_fmt=png当然,还可以进行相关属性的设置,同时在等待的过程中可根据程序运行情况动态改变提示文字的内容及颜色0?wx_fmt=png

当然在使用前需先导入该库,仅需加入两行代码:

在工程的 build.gradle中加入:

0?wx_fmt=pngmodule的build.gradle中加入依赖:0?wx_fmt=png

具体实现过程

自定义view

相关知识

绘制弧:

drawArc (RectF oval, float startAngle, float sweepAngle, boolean useCenter, Paint paint)

  • oval是RecF类型的对象,其定义了椭圆的形状

  • startAngle指的是绘制的起始角度,钟表的3点位置对应着0度,如果传入的startAngle小于0或者大于等于360,那么用startAngle对360进行取模后作为起始绘制角度。

  • sweepAngle指的是从startAngle开始沿着钟表的顺时针方向旋转扫过的角度。如果sweepAngle大于等于360,那么会绘制完整的椭圆环。如果sweepAngle小于0,那么会用sweepAngle对360进行取模后作为扫过的角度。

  • useCenter是个boolean值,如果为true,表示在绘制完环之后,用椭圆的中心点连接环上的起点和终点以闭合环;如果值为false,表示在绘制完环之后,环的起点和终点直接连接,不经过椭圆的中心点。

设置矩形:

RectF rectF = new RectF(100, 100, 300, 300);

这四个参数分别代表的意思是:left top right bottom 左 上 右 下

  • left : 矩形左边的X坐标

  • top: 矩形顶部的Y坐标

  • right : 矩形右边的X坐标

  • bottom: 矩形底部的Y坐标

其实就是矩形的左上角和右下角的坐标值

首先加入自定义view的属性

我们定义了颜色,宽度,阴影偏移大小,是否显示等属性,format是值该属性的取值类型:

一共有:string,color,demension,integer,enum,reference,float,boolean,fraction,flag;

0?wx_fmt=png

编写自定义view–RotateLoading

预设相关属性

0?wx_fmt=png获取自定义属性0?wx_fmt=pngPaint初始化0?wx_fmt=png初始化绘制弧形所需的RectF0?wx_fmt=png重写onDraw,绘出图形0?wx_fmt=png0?wx_fmt=png

至此,圆形进度条就完成了,完整的代码可在github上查看

边写自定义dialog

编写布局文件

就是放入刚才自定义的RotateLoading,同时在下面放入一个文本

0?wx_fmt=png

预设相关属性

0?wx_fmt=png

初始化配置

0?wx_fmt=png

调用显示对话框

加载刚才的布局文件,调用自定义view的显示

0?wx_fmt=png

提供给用户的API

包括相关属性的set方法及两个改变文字属性的方法

0?wx_fmt=png

ok,至此,自定义dialog也完成了。

总结

本文介绍了CircleProgressDialog开源库的使用及其实现方法,借此也介绍了自定义view及自定义dialog的方法。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值