当前位置: 首页 > news >正文

wordpress模板站可以自己做网站的软件

wordpress模板站,可以自己做网站的软件,东莞网站建设营销网站,wordpress打包小程序Android 自定义view 圆形进度条 前言一、码前分析二、开码1.画笔2.弧度3.圆弧的位置4.暴露给外部设置进度条的方法三、使用四、完整代码 总结 前言 先来看看效果,大概要实现这么一个圆形的进度条 一、码前分析 要实现这么一个进度条的效果,实际上是要画…

Android 自定义view 圆形进度条

  • 前言
  • 一、码前分析
  • 二、开码
    • 1.画笔
    • 2.弧度
    • 3.圆弧的位置
    • 4.暴露给外部设置进度条的方法
    • 三、使用
    • 四、完整代码
  • 总结


前言

先来看看效果,大概要实现这么一个圆形的进度条

在这里插入图片描述


一、码前分析

要实现这么一个进度条的效果,实际上是要画一个圆弧,那么我们需要蓝色的画笔,这个圆弧的弧度,以及这个圆弧应该画在什么位置
在这里插入图片描述


二、开码

1.画笔

代码如下(示例):

    private val progressPaint: Paint = Paint().apply {color = resources.getColor(R.color.ff1DB0CC)style = Paint.Style.STROKEstrokeWidth = 3fisAntiAlias = true}

上面的示例创建了一个画笔progressPaint,它的颜色是ff1DB0CC,填充方式是描边,画笔宽度为3f;值得一提的是isAntiAlias ,设置为true时表示打开抗锯齿,使我们的圆弧更为圆滑。

2.弧度

代码如下(示例):

    private var currentProgress: Float = 0fprivate var maxProgress: Float = 15000fval sweepAngle = 360f * currentProgress / maxProgress

上面的代码示例计算了圆弧的弧度
圆弧的弧度 = 360 ° ∗ 进度条现在的进度 / 进度条总进度 . 圆弧的弧度 = 360°* 进度条现在的进度/进度条总进度. 圆弧的弧度=360°进度条现在的进度/进度条总进度.

3.圆弧的位置

代码如下(示例)

 		val center = width / 2fval radius = center - progressPaint.strokeWidth / 2fval sweepAngle = 360f * currentProgress / maxProgresscanvas.drawArc(center - radius, center - radius, center + radius, center + radius,-90f, sweepAngle, false, progressPaint)

上面的代码示例计算了圆弧绘制的位置,并通过drawArc方法将圆弧绘制出来。

4.暴露给外部设置进度条的方法

代码如下(示例)

    fun setProgress(progress: Int) {currentProgress = progress.toFloat()invalidate()}fun setMaxProgress(max: Int) {maxProgress = max.toFloat()}

三、使用

直接在xml中使用即可,通过暴露方法自己设置进度

      		 <com.zyf.view.CircularProgressBarandroid:id="@+id/progress"android:layout_width="113dp"android:layout_height="113dp"/>

四、完整代码


class CircularProgressBar @JvmOverloads constructor(context: Context,attrs: AttributeSet? = null,defStyleAttr: Int = 0
) : View(context, attrs, defStyleAttr) {private val progressPaint: Paint = Paint().apply {color = resources.getColor(R.color.ff1DB0CC)style = Paint.Style.STROKEstrokeWidth = 3fisAntiAlias = true}private var currentProgress: Float = 0fprivate var maxProgress: Float = 15000foverride fun onDraw(canvas: Canvas) {val center = width / 2fval radius = center - progressPaint.strokeWidth / 2fval sweepAngle = 360f * currentProgress / maxProgresscanvas.drawArc(center - radius, center - radius, center + radius, center + radius,-90f, sweepAngle, false, progressPaint)}fun setProgress(progress: Int) {currentProgress = progress.toFloat()invalidate()}fun setMaxProgress(max: Int) {maxProgress = max.toFloat()}
}

总结

本文介绍了如何实现一个圆形进度条的自定义 View,并分析了需要实现的基本要素,包括画笔、弧度和圆弧的位置。最后给出了完整的代码。

http://www.yayakq.cn/news/9164/

相关文章:

  • 乌兰浩特网站制作企业备案号查询系统
  • 母婴网站设计分析北京网站设计公司兴田德润简介
  • 建筑设计网站模板开发导航app多少钱
  • 前程无忧怎么做网站数字广东网络建设有限公司电话
  • 如果在工商局网站上做股权质押wordpress手机上打不开
  • h网站模版手机网站头部
  • 提供网站建设排行榜购买域名如何建设网站
  • 哪个网站可以找做中厚板的公司seo推广赚钱
  • 学校网站建设阶段性目标深圳网站优化计划
  • 北京移动端网站公司企业网站建设费用做管理费用吗
  • 网站建设和管理的总结怎么写建网站广州
  • 珲春建设局网站谷德建筑设计网
  • 渭南网站建设公司做网站之前需要准备什么条件
  • 法与家国建设征文网站企业网站管理系统手机版教程
  • 网站备案有什么好处网站源码出售
  • 一个购物网站开发的可行性正规网站模板设计
  • 鹤壁做网站的公司wordpress主题合并插件
  • 杭州百度做网站多少钱搜索引擎营销方法有哪些
  • linux网站建设浏览器网站免费进入
  • 网站如何进行seo比较好网站制作公司
  • 网站开发软硬件配置盐城网站优化公司
  • 深圳h5网站建设公司建设网站产生哪些费用
  • 合肥网站建设平台怎么把自己做的网站放到公网上
  • 淘宝网站的建设内容wordpress投稿管理系统
  • 省级住房城乡建设主管部门网站删除的网站做404
  • seo怎样优化网站信誉好的菏泽网站建设
  • 做h5页面的网站wordpress 添加固定字段
  • 郑州市城市建设管理局网站网站建设需要的费用
  • 黑河做网站公司信息服务类网站怎么做
  • 网站可以换虚拟主机吗wordpress购物插件下载