圆形进度条的模仿1-DrawArc,DrawCircle,DrawText讲解
1:画弧
canvas.drawArc(oval,startAngle,sweepAngle,useCenter,paint)
第一个参数:绘制的区域,oval可以是被定好了的一个区域,也可以将oval换成(l,t,r,b)即作,上,右,下,在参数的填写时有两种方法
第二个参数:弧度开始的角度
第三个参数:弧度扫过的角度,
第四个参数:是否与中心相连
第五个参数:画笔
与中心相连画出的弧,并且是从-90度开始,扫过的角度为90度的弧:

没有与中心相连,也是从-90度扫过90度的弧:

canvas?.drawCircle(cx,cy,radious,paint)
第一个参数:圆心的x坐标
第二个参数:圆心的y坐标
第三个参数:圆的半径
第四个参数:画笔
canvas?.drawText(text,x,y,paint)
第一个参数:要画的文本(文本是String类型的)
第二个参数:文本的x坐标
第三个参数:文本的y坐标
第四个参数:画笔
文本的x,y坐标是在文本的左下角,若是要使文本居中显示,在横坐标,只需要通过
textAlign = Paint.Align.CENprivate val text_paint = Paint().apply {
color = Color.BLUE
style = Paint.Style.FILL
textSize = 50f
textAlign = Paint.Align.CENTER
textMove = (descent()-ascent())/2f
而在y轴上则需要或取它的descent,与ascent之后,取中。我在网上找了一个图片来帮助讲解:
如图所示,画文本是它是有基线的即baseline
top:这个文本控件的顶部,文字是不会到达这个位置的,bottom一样,只是bottom是底部而已
ascent:文字的顶部,descent文字的底部。
注意:该文本是以baseline为准,就相当于在这个文本中,以baseline为x轴,向上的值为负值,向下的值为正值
所以,在获取文字的中心位置时,需要用descent()-ascent()在除以2,同理,top也是负值,bottom是正值,
便可以根据我们自己的需要调整文字显示的位子,居上,居下,显示
圆形进度条的模仿1-DrawArc,DrawCircle,DrawText讲解的更多相关文章
- 圆形进度条的模仿3-DrawArc,DrawCircle,DrawText,自定义属性实例讲解
前面两篇中已经讲过如何使用drawARC,等,画其他的图形的方法的使用也是一样的,只是参数不同, 同时也讲了如何通过xml进行自定义属性,接下来这篇便是通过实例讲解如何实地应用起来, 效果如下,点击开 ...
- Android 高手进阶之自定义View,自定义属性(带进度的圆形进度条)
Android 高手进阶(21) 版权声明:本文为博主原创文章,未经博主允许不得转载. 转载请注明地址:http://blog.csdn.net/xiaanming/article/detail ...
- Android 带进度的圆形进度条
最近项目有个需求,做带进度从下到上的圆形进度条. 网上查了一下资料,发现这篇博客写得不错http://blog.csdn.net/xiaanming/article/details/10298163 ...
- 自定义VIew——漂亮的圆形进度条
package com.example.firstapp; import java.text.DecimalFormat; import android.annotation.SuppressLint ...
- Android 高手进阶,自己定义圆形进度条
背景介绍 在Android 开发中,我们常常遇到各种各样绚丽的控件,所以,依靠我们Android本身所带的控件是远远不够的,许多时候须要我们自定义控件,在开发的过程中.我们公司遇到了一种须要自己写的一 ...
- Android自定义控件系列之应用篇——圆形进度条
一.概述 在上一篇博文中,我们给大家介绍了Android自定义控件系列的基础篇.链接:http://www.cnblogs.com/jerehedu/p/4360066.html 这一篇博文中,我们将 ...
- 【Android 应用开发】 自定义 圆形进度条 组件
转载著名出处 : http://blog.csdn.net/shulianghan/article/details/40351487 代码下载 : -- CSDN 下载地址 : http://down ...
- 微信小程序动画之圆形进度条
微信小程序动画之圆形进度条 上图: js: //获取应用实例 var app = getApp() var interval; var varName; var ctx = wx.createCanv ...
- Android 自定义 View 圆形进度条总结
Android 自定义圆形进度条总结 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 微信公众号:牙锅子 源码:CircleProgress 文中如有纰漏,欢迎大家留言指出. 最近 ...
随机推荐
- C#开发PACS医学影像处理系统(十二):绘图处理之图形标记
在医生实际使用过程中,对于有病灶的影像需要一些2D绘图操作,例如对于病灶的标记和测量, 这就牵涉到在WPF中的2D绘图操作技术,一般的思路是监听鼠标的按下和抬起以及运动轨迹,目前整理出的常用绘图和测量 ...
- hystrix熔断器之配置
HystrixCommandProperties命令执行相关配置: hystrix.command.[commandkey].execution.isolation.strategy 隔离策略THRE ...
- spring mvc(4) HandlerMapping
在前面一节里提到,DispatcherServlet在接收到请求后,通过HandlerMapping找到处理请求对应的Controller(其实处理请求器并不一定是Controller,还可以是Htt ...
- hystrix总结之限流
hystrix使用舱壁隔离模式来隔离和限制各个请求,设计了两种隔离方式:信号量和线程池.线程池隔离:对每个command创建一个自己的线程池,执行调用.通过线程池隔离来保证不同调用不会相互干扰和每一个 ...
- git线上操作
选择线上仓库 """ 1.注册码云账号并登录:https://gitee.com/ 2.创建仓库(课堂截图) 3.本地与服务器仓库建立连接 ""&qu ...
- 树莓派Raspberry Pi OS(原Raspbian)系统常用配置
首次开机自动连接WIFI 在资源浏览器中打开刚写好Raspberry Pi OS(之前叫Raspbian)系统的SD卡,如果有boot目录则在boot目录中新建一个名为wpa_supplicant.c ...
- Socket 核心原理分享
Socket 的个人故事.希望通过这篇文章让你弄懂什么是 Socket,明白 TCP 和 UDP 协议的通讯,明白长连接和短连接的优缺点,明白 BIO.NIO.AIO的区别. Socket 大家好,我 ...
- 9.Lock-锁
- Java基础一篇过(一)反射
一.反射是个啥 定义 : 在运行状态中动态获取的类的信息以及动态调用对象的方法,这种功能称为java语言的反射机制. 对于任意一个类,都能够知道这个类的所有属性和方法. 对于任意一个对象,都能够调用它 ...
- 刷题[MRCTF2020]套娃
解题思路 查看源码,发现注释中存在代码 //1st $query = $_SERVER['QUERY_STRING']; if( substr_count($query, '_') !== 0 || ...
