Android Custom View — Circular(环形条)

这次是实现一个简单的环形条,下图这样的,还是尽量简单的写,让新手能够看懂

这一次没多少代码,就贴一下核心部分,别的大家可以自己看源码

    @Overrideprotected void onDraw(Canvas canvas) {super.onDraw(canvas);if(f){arc1+=10;arc2+=3;}else{arc1+=3;arc2+=10;}if(arc1>360) {temparc = arc1 % 360;arc2 = temparc + arc2 - arc1;arc1 = temparc;}if(arc1-arc2<=20)f=true;else if(arc1-arc2>=320)f=false;canvas.drawArc(r, arc2, arc1-arc2, false, circle);invalidate();}

解释一下,代码里arc1和arc2分别是圆弧的首末角度,f=true时环形长度缩小,false时长度增加,每次绘制后即调用invalidate()立即进行下一次绘制,实现圆环不断旋转的效果

源码地址

Android Custom View --- Circular(环形条)相关推荐

  1. Android: Custom View和include标签的区别

    Custom View, 使用的时候是这样的: <com.example.home.alltest.view.MyCustomViewandroid:id="@+id/customVi ...

  2. Android Custom View系列《圆形菜单一》

    前言 自定义view能够做出很多不同寻常的效果,圆形菜单交互效果不错,目前网上有两个版本,虽然比较庞大,但非常值得研究与学习. radial-menu-widget: https://code.goo ...

  3. Android 自定义View画一条线

    自定义View代码: public class NavBarBackgroundView extends View {private Paint mPaint = new Paint();public ...

  4. Android Custom View ----invalidate() 、postInvalidate() and requestLayout()

    <1>invalidate():View本身调用,迫使view重绘,需要在UI线程中自身调用.当View的appearance发生改变,比如状态改变(enable,focus),背景改变, ...

  5. Android 自定义View合集

    http://blog.csdn.net/u011507982/article/details/51199644 自定义控件学习  https://github.com/GcsSloop/Androi ...

  6. android自定义曲线控件,Android自定义view进阶-- 神奇的贝塞尔曲线

    上一篇介绍了自定义view需要知道的基本函数.新开一篇献给借给我vpn的深圳_奋斗小哥. 转载请注明出处:http://blog.csdn.net/wingichoy/article/details/ ...

  7. Android 自定义 View:包含多种状态的下载用圆形进度条

    前言 最近做项目碰到一个这样的一个需求:需要一个环形的进度条表示一个下载请求的进度加载. 同时要以各种不同的图标展现其下载过程中的各个状态:等待.下载中.暂停.错误.完成. 具体状态对应图标见下图: ...

  8. Android 自定义View实现环形带刻度颜色渐变的进度条

    上次写了一篇Android 自定义View实现环形带刻度的进度条,这篇文章就简单了,只是在原来的基础上加一个颜色渐变. 按照惯例,我们先来看看效果图 一.概述 1.相比于上篇文章,这里我们的颜色渐变主 ...

  9. android炫酷的自定义view,Android自定义View实现炫酷进度条

    本文实例为大家分享了Android实现炫酷进度条的具体代码,供大家参考,具体内容如下 下面我们来实现如下效果: 第一步:创建attrs文件夹,自定义属性: 第二步:自定义View: /** * Cre ...

最新文章

  1. 万字长文,值得收藏/参考的OpenCV C++基础代码
  2. SSM框架整合(IntelliJ IDEA + maven + Spring + SpringMVC + MyBatis)
  3. 近年推荐系统论文调查汇总
  4. Codeforces#371 Div2
  5. LDPC译码算法代码概述
  6. 疫情过后,未来只有三种企业:华为、海尔和腾讯!
  7. mybatis实现反向工程
  8. 10- vue django restful framework 打造生鲜超市 -用户登录和手机注册(中)
  9. .NET Core 3.0 Preview 3中关于ASP.NET Core的更新内容
  10. Symbol MC1000 扫描 冲突问题 把下面文件做成scanwedge.reg的注册表文件,放在Application重起
  11. 在虚拟机上运行vxWorks
  12. 为什么我学了6个月Python,还是找不到工作?
  13. awk -f 分隔符 命令_Linux awk命令详解(详解版)
  14. 武汉大学计算机学院易碧波,王峰(武汉大学计算机学院副教授)_百度百科
  15. librosa 音频处理库
  16. 华为手机怎么连接苹果电脑?
  17. JAVA计算机毕业设计网上图书销售系统(附源码、数据库)
  18. linux下 OOB 炸弹的制作
  19. 隐私政策-第三方SDK汇总
  20. centos7桌面图标太大,如何变小?

热门文章

  1. 通过Excel对人力资源考勤评估
  2. ctf中MD5绕过详细总结及例题[BJDCTF2020]Easy MD5
  3. 学习笔记之--MySQL图形界面软件Navicat Premium的安装
  4. 华为鸿蒙国外生态,脸书之后,华为鸿蒙生态再迎重磅应用,谷歌始料未及
  5. postgresql 连接超时_解决PostgreSQL 执行超时的情况
  6. 仓储管理APP开发能给带来什么便利?可以解决哪些问题?
  7. ChatGPT 月活破亿,百度慌了?
  8. 使浏览器对VML支持
  9. 金额转大写及日期转大写(java)
  10. 拉格朗日松弛(一)——理论及算法