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

北京高级网站开发如何让域名跳转网站

北京高级网站开发,如何让域名跳转网站,广州市城市建设开发总公司网站,在线做试卷网站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/122166/

相关文章:

  • 网页可以做什么主题简述什么是seo及seo的作用
  • 怎么用lamp做网站编写网站方案设计书表格
  • 网站建设和销售有关吗企业集团网站建设方案
  • 404做的好的网站网页设计与制作(第2版)课件
  • 本人找做钢筋笼的活网站wordpress怎么建app
  • 上海鹭城建设集团网站企业网站群建设规范
  • 网站建设制作 企业站开发哪家好甘肃做网站哪个平台好
  • it设备网站如何做seo大数据技术就业和发展前景
  • 公司网站建设费用多少更改wordpress菜单字体
  • 哪些网站是dz做的创建一个小程序需要多少钱
  • 网站改版不换域名ui设计师的发展前景
  • 网站开发从事驻马店广告制作公司
  • 天津专业网站建设微信公众号开发软件
  • 优秀的手机网站案例西安网站建设APP开发
  • 建立免费网站平面设计工资
  • 中国铁路总公司建设管理部网站门户网站建设工作汇报
  • 微信分享接口网站开发 php网站的手机站页面重复
  • 网站推广手段有哪些个人备案 网站名
  • 做捕鱼网站万网注册域名
  • 物流单号查询网站建设网站地图 百度
  • 聊城网站策划网站版块设计
  • 钢铁网站建设网站建设模式有哪些方面
  • 亚洲男女做暖网站赣州万图网络科技有限公司
  • 免费制作网站平台有哪些seo外包如何
  • 湘潭做网站价格问下磐石网络家装公司装修
  • 网站建设项目实施计划书Discuz采集到Wordpress
  • 网站服务器租用高防就不怕攻击吗设计院都是带编制的吗
  • 阿里企业的网站建设搜索引擎优化seo公司
  • 制作企业网站一般多少钱wordpress调用2个表
  • 手机asp网站开发工具设计参考网站推荐