首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

自定义view——圆形进度条的实现

最近刚完成一个版本的迭代,所有抽空学习了下自定义view,简单实现了一个可定制的圆形进度条,首先看下效果图: 效果.gif 下面一步一步来介绍这里我是怎么实现的。...实现思路 这里思路很简单,画两个同心圆,一个半径稍大,然后在两个圆半径差距范围内画弧度变化圆弧,来代表不同状态的进度。这个demo里我们可以配置圆弧显示不同的颜色。...,同时在进度条中间我们可以显示出当前的百分比。...1.首先我们得到圆形进度条的圆心坐标: mXCenter = getWidth() / 2; mYCenter = getHeight() / 2;``` 2.绘制同心圆 canvas.drawCircle...,然后调用canvas的drawArc方法,传入区域,起始角度,弧度,是否显示连接圆心的线,画笔,来绘制出圆弧,因为同心圆刚好差了一个进度条画笔的宽度,所以这个圆弧刚好填充在了两个圆之间,看效果图即可。

1.1K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

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

    简介 本文介绍CircleProgressDialog开源库的使用及实现的详细过程,该开源库主要实现以下几个功能: 自定义一个好看的圆形进度条,可直接在布局文件中使用,可设置圆环宽度、圆环颜色、圆环阴影大小等属性...; 实现自定义的dialog,用于用户等待时的显示,通过简单的代码即可直接调用显示,同时提供api进行颜色、文字等设置 通过本文可了解到自定义view的相关知识及自定义dialog的方法 github链接如下...,阴影偏移大小,是否显示等属性,format是值该属性的取值类型: 一共有:string,color,demension,integer,enum,reference,float,boolean,fraction...至此,圆形进度条就完成了,完整的代码可在github上查看 边写自定义dialog 编写布局文件 就是放入刚才自定义的RotateLoading,同时在下面放入一个文本 ? 预设相关属性 ?...调用显示对话框 加载刚才的布局文件,调用自定义view的显示 ? 提供给用户的API 包括相关属性的set方法及两个改变文字属性的方法 ? ok,至此,自定义dialog也完成了。

    1.9K20

    Python多进程显示进度条的优雅方案

    使用multiprocessing进程池的imap方法,可以将函数依次作用到可迭代对象上各个元素,并发送到多个进程中执行。配合tqdm库,我们可以通过进度条显示多进程代码的整体执行进度!...这是一段非常强大和人性化的代码组合! 一,单参数函数 如果我们要多次执行的函数只有一个参数,这个参数在多进程任务中依次取可迭代对象中各个值,可以参照如下代码范例。...list(tqdm(pool.imap(func, np.linspace(0,2*math.pi,1000)), total=1000)) 二,多参数函数 对于多参数函数,如果我们只想对它的一个参数在多进程任务中依次取可迭代对象中各个值...注意,不可以使用lambda 函数代替偏函数,否则会报局部函数不可序列化的错误。

    8K30

    自定义ProgressBar(包括自定义图片,带进度的圆形进度条、长方形进度条)

    后者主要是为缓存需要所涉及的,比如在看网络视频时候都会有一个缓存的进度条以及还要一个播放的进度,在这里缓存的进度就可以是android:secondaryProgress,而播放进度就是android:...属性android:indeterminate如果设置为true的话,那么ProgressBar就可能是圆形的滚动条或者水平的滚动条(由样式决定),但是我们一般时候,是直接使用Style类型来区分圆形还是水平...="#000000" android:type="sweep" android:useLevel="false" /> 2 自定义长方形进度条...这种效果我们是通过继承ProgressBar实现的 a 先讲一下实现思路 横向那个进度条,主要是通过是通过Canvas类的drawLine()和drawText()方法实现的, 1)要解决的问题,怎样拿到拿到控件的宽度...canvas.restore(); } 到这里,实现思已经完毕 源代码下载地址:https://github.com/gdutxiaoxu/CustomProgressBar.git 3 自定义圆形进度条

    9.3K10

    使用三种方式实现弧形进度条

    UWP 的控件,不过代码没有很复杂,应该很轻松就能移植到 WPF: 但仔细想想,我实现过很多次圆形的进度条,这种弧形的进度条则没碰过。...于是兴致来了试试用不同的方式实现弧形进度条。 这篇文章只介绍了怎么显示弧形及怎么显示进度,只有原理,没有具体实现一个弧形进度条控件。 2....不过它的计算很麻烦,三角函数我已经忘光了。...="Round" StrokeEndLineCap="Round" 它们控制线条两端边缘的轮廓,Round 表示一个直径等于线条粗细的半圆形。...使用 Ellipse 这个方案还算有趣,Ellipse 明明是圆形,却能用来画弧形。为了用 Ellipse 显示进度,我们会用 StrokeDashArray 控制它的边框长度。

    2K10

    Sketch制作简单的ios的Icon(基本矩形、三角形、圆形、渐变)的使用

    写在前面 今天我们简单的做一下下面的四个icon,都是简单的icon,本来准备录制一个视频制作的,但是呢,视频上传不上去,gif呢我也录制了几个,但是都会超过5M,说实话,一个gif很短就会超过5M,...步骤 看到这个图的人肯定有人说,这个东西我是用PPT也可以实现,是的,但是这个只是入门的,所以肯定是很简单的,后面会慢慢的绘制一些比较难的,这样你们才不会直接上来就很难导致很多人对这个瞬间失去了兴趣!...这里值得一提的是右侧的编辑栏,当我们不需要的时候,可以直接进行点击删除即可,然后没有该设计的时候,他的编辑是关闭的状态,打开的时候说明有一个之前使用过的功能但是还没有删除,这里值得注意一下 然后我们在内部绘制一个三角形...到此第一个就绘制结束了,我知道这种方式很呆板,但是确实可以让你们明白是怎么回事,另外的几个你们自己是这绘制一下,至于说最后一个的圆形背景颜色的渐变怎么实现的,这里我说一下 颜色的渐变实现 我们绘制一个圆...写到最后 即使画到这里我还是觉得这种方式给你们说这个软件怎么使用显的很呆板,不过我还是想把这个系列写完,下篇文章写一下怎么制作一些比较无规则的图和怎么制作一些头像和倒影的效果!

    1K10

    N 种仅仅使用 HTMLCSS 实现各类进度条的方式

    :用来显示已知范围的标量值或者分数值 :用来显示一项任务的完成进度,通常情况下,该元素都显示为一个进度条 我们分别来看看,首先是 标签: ...CodePen Demo - 角向渐变实现圆弧形进度条 基于此拓展,还可以实现多色的圆弧型进度条: .g-progress { width: 160px; height: 160px;...角向渐变实现圆弧进度条的局限性 当然,这个方法有两个弊端。 当然进度百分比不是类似于 0°、90°、180°、270°、360° 这类数字时,使用角向渐变时,不同颜色间的衔接处会有明显的锯齿。...对于开头和结尾需要圆形的圆弧进度条实现起来较为麻烦 还有一种情况,实际使用中,要求的是首尾带圆形的圆弧进度条,例如下图所示: 当然,这种情况当然进度条颜色是纯色也是可以解决的,我们通过在在首尾处叠加两个小圆圈即可实现这种效果...上述完整的带圆角的圆弧进度条,你可以戳这里看完整源码 -- CodePen Demo -- 首尾为圆形的圆弧进度条 球形进度条 球形进度条也是比较常见的,类似于下面这种: image.png 对于球形进度条

    2.4K20

    OpenGL ES 2.0 (iOS):修复三角形的显示

    分布图 从图可以看出,这三个数据形成的其实是一个等边直角三角形,而在 iOS 模拟器中通过 OpenGL ES 绘制出来的是直角三角形,所以是有问题的,三角形被拉伸了。...FixTriangle.gif 所以要做的事情是,把顶点坐标的 Y 坐标变小,而且是要根据当前显示屏幕的像素比来进行缩小。...4X4方阵 它其实就是一个齐次矩阵,是对3D运算的一种简便记法; 3x3矩阵并没有包含平移,所以扩展到4x4矩阵,从而可以引入平移的运算; 2、线性变换(缩放与旋转) ?...图1,列向量 英文大意:矩阵和矩阵乘法在处理坐标系显示模型方面是一个非常有用的途径,而且对于处理线性变换而言也是非常方便的机制。 ?...4X4方阵 OpenGL ? 平移 OpenGL 矩阵平移公式 ?

    1.2K10

    Android之ProgressDialog的使用

    // 方式三 使用静态方式创建并显示,这种进度条只能是圆形条,这里最后一个参数boolean indeterminate设置是否是不明确的状态 ProgressDialog dialog3 =...ProgressDialog.show(this, "提示", "正在登陆中", false); // 方式四 使用静态方式创建并显示,这种进度条只能是圆形条,这里最后一个参数boolean cancelable...方式五 使用静态方式创建并显示,这种进度条只能是圆形条,这里最后一个参数 DialogInterface.OnCancelListener // cancelListener用于监听进度条被取消...", Toast.LENGTH_LONG).show();   } }; ProgressDialog的样式有两种,一种是圆形不明确状态,一种是水平进度条状态 第一种方式:圆形进度条 final ProgressDialog...dialog = new ProgressDialog(this); dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);// 设置进度条的形式为圆形转动的进度条

    47950

    Andorid---UI篇---两种进度条(ProgressBar)

    01 Andorid系统提供两种进度条,长条形进度条(progressBarStyleHorizontal)和圆形进度条(progressBarStyleLarge)。...另外,如果需要在窗体的标题栏设置进度条,先对窗体的显示风格进行设置“requestWindowFeature(Window.FEATURE_PROGRESS)”;如果要显示进度条,需要使用setProgressBarVisibility...(true);方法来使其显示。...好像只有这样做 才能让我们感觉到永远都不用自己一个人 02 下面是分别由标题栏进度条,长条形进度条和圆形进度条组成,并用线程控制的程序。 注意:圆形进度条是不会显示具体进度的,而只是单纯的旋转。...逃避真实的交流 逃向浅显的文字交谈 03 04 1 把独处当做一件好事 运行结果如下:

    34440

    ProgressDialog总结

    // 方式三 使用静态方式创建并显示,这种进度条只能是圆形条,这里最后一个参数boolean indeterminate设置是否是不明确的状态 ProgressDialog dialog3 =...ProgressDialog .show(this, "提示", "正在登陆中", false); // 方式四 使用静态方式创建并显示,这种进度条只能是圆形条,这里最后一个参数boolean..., true); // 方式五 使用静态方式创建并显示,这种进度条只能是圆形条,这里最后一个参数 DialogInterface.OnCancelListener // cancelListener...", Toast.LENGTH_LONG) .show(); } }; ProgressDialog的样式有两种,一种是圆形不明确状态,一种是水平进度条状态 第一种方式:圆形进度条...ProgressDialog dialog = new ProgressDialog(this); dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);// 设置进度条的形式为圆形转动的进度条

    35420
    领券