编写代码时参考了大神的文章

-----------------------------------------------------------------------------------------------

1.说明:  界面上显示正在加载的提示动画 ,加载完成之后显示对号。

2.显示效果:

3.   代码

3.1  为自定义控件添加属性

3.2  获取自定义的属性

public CustomProgressBar(Context context, AttributeSet attrs, int defStyleAttr) {

super(context, attrs, defStyleAttr);

TypedArray array = context.getTheme().obtainStyledAttributes(attrs, R.styleable.CustomProgressBar,defStyleAttr,0);

int count = array.getIndexCount();

for (int i = 0;i < count;i++){

int arr = array.getIndex(i);

switch (arr){

case R.styleable.CustomProgressBar_bgColor:

circleColor = array.getColor(arr, Color.BLUE);

break;

case R.styleable.CustomProgressBar_runSpeed:

circleSpeed = array.getInt(arr,20);

break;

case R.styleable.CustomProgressBar_paintWidth:

circleWidth = array.getDimensionPixelSize(arr, (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_PX, 20, getResources().getDisplayMetrics()));

break;

}

}

array.recycle();

}

3.3 画圆弧

protected void onDraw(Canvas canvas) {

super.onDraw(canvas);

int center = getWidth()/2;//圆心

int radius = center - circleWidth/2;//半径

RectF oval = new RectF(circleWidth/2,circleWidth/2,center+radius,center+radius);

canvas.drawArc(oval,startAngle,progress,false,mPaint);

}

3.4 动态画圆弧

分析: 想要圆弧变化怎么办?

开始画圆弧的位置和圆弧的长度变化。

new Thread(new Runnable() {

@Override

public void run() {

while (true){

progress+=1;

moveAngle+=0.002;//自定义圆弧其实位置变化的大小

startAngle +=moveAngle;

if (progress >= (340 +moveAngle)){//如果340-->360 那么圆环闭合才会从新画圆

progress = 0;

startAngle = START_ANGLE;

moveAngle = 0;

}

postInvalidate();

try {

Thread.sleep(circleSpeed);

} catch (InterruptedException e) {

e.printStackTrace();

}

}

}

}).start();

4.源码下载

android 自定义 对号,【Android】自定义progressBar和动画显示对号相关推荐

  1. android progressbar 水平动画,Android ProgressBar 自定义样式(三),动画模式

    果: 和之前的一样,在布局文件中: android:id="@+id/progressBar3" android:layout_width="wrap_content&q ...

  2. Android踩坑日记:自定义水平和圆形ProgressBar样式

    自定义水平和圆形ProgressBar样式 1.自定义水平ProgressBar样式 ProgressBar分为两种,我们能明确看到进度,不确定的就是不清楚.不确定一个操作需要多长时间来完成,这个时候 ...

  3. Android为网络请求自定义加载动画

    android自带的加载动画都不怎么好看,在这里介绍一种自定义加载动画的方法 原始图片: 编写动画progressbar.xml, <?xml version="1.0" e ...

  4. Android自定义View实现打钩签到动画

    效果图 实现原理 我们看实现的动画效果,其实是分为 1. 绘制未选中状态图形(圆弧和对号) 2. 绘制选中状态圆弧的旋转的动画 3. 绘制选中状态圆弧向中心收缩铺满动画 4. 绘制选中状态对号 5. ...

  5. [android] 练习样式主题自定义activity切换动画

    主要练习了自定义样式和主题,继承android系统默认的样式并修改,练习xml定义淡入淡出动画 anim/fade_in.xml <?xml version="1.0" en ...

  6. android 自定义刷新控件,Android开发中MJRefresh自定义刷新动画效果

    有时候我们对自己开发的项目经常不满意,但是我们要达到自定义刷新动画的效果有一定的难度,别着急,下面爱站技术频道和大家分享Android开发中MJRefresh自定义刷新动画效果,一起来学习吧! [一] ...

  7. android+清除循环动画,android自定义View之(4)-一键清除动画

    android自定义View之(四)------一键清除动画 1.前言: 自己也是参考别人的一些自定义view例子,学习了一些基本的自定义view的方法.今天,我参考了一些资料,再结合自已的一些理解, ...

  8. android自定义View之(四)------一键清除动画

    1.前言: 自己也是参考别人的一些自定义view例子,学习了一些基本的自定义view的方法.今天,我参考了一些资料,再结合自已的一些理解,做了一个一键清除的动画.当年,我实现这个是用了几张图片,采用F ...

  9. android 文字动画显示,用粒子动画显示各种文字的 Android 自定义 View

    一.总述 ParticleTextView 是一个 Android 平台的自定义 view 组件,可以用彩色粒子组成指定的文字,并配合多种动画效果和配置属性,呈现出丰富的视觉效果. 二.使用 1. 引 ...

最新文章

  1. 博客改版日记 9.11——抱歉
  2. Android ListView常用用法
  3. 用 Flask 来写个轻博客 (27) — 使用 Flask-Cache 实现网页缓存加速
  4. m3u8 video ios h5_【H5】iOS系统下的video视频播放完后重新刷新视频
  5. A Scala Tutorial for Java Programmers
  6. Mybatis中 Dao接口和XML文件的SQL如何建立关联
  7. mcse 2000 认证介绍
  8. junit mockito_使用JUnit 5在Mockito中方便地进行模拟–官方方式
  9. Java相关资料分享(视频+电子书籍)
  10. python web开发 JavaScript基础
  11. 在XML里的XSD和DTD以及standalone的使用
  12. 小天才被限定使用时长的应用_家庭腕上社交新场景,OPPO Watch、小天才开启暖心联动...
  13. JAVA基础第四章-集合框架Collection篇
  14. 电脑数据丢失,如何才能够快速将被删的数据文件恢复找回?
  15. IDA Pro7使用总结
  16. 手机突然变卡,不得不重置
  17. 8月18日梦记录及分析
  18. 理解J.U.C中的ReentrantLock
  19. 从苹果供应商看2018年全球电子产业链的中国势力变化
  20. 一位技术演讲家的自白

热门文章

  1. python给ppt表格加边框_带你用Python玩转PPT
  2. 微信自定义分享功能实现
  3. Python两个列表交错合并方法
  4. 台式电脑脑计算机没法启动怎么办,台式机主机电源灯不亮,开不了机怎么办? 台式电脑无法开机什么原因...
  5. 程序员在群里“匿名”骂老板,第二天被开除,聊天记录曝光
  6. 武汉理工大学计算机学院在哪个区,武汉理工大学研究生院在哪个校区
  7. NLP学习记录——句法分析
  8. the system can not open the device or file specified解决方案
  9. 笔记存储仓库神器->印象笔记的使用方法
  10. cordova 图标设置