美文网首页
Android自定义view------带动画的progress

Android自定义view------带动画的progress

作者: 点石成金XIAS | 来源:发表于2018-09-20 13:56 被阅读0次

1.概述

       这篇文章是继Android自定义密码输入框 - 简书 的第二个自定义view,第二个自定义view是带动画的progressbar,下面来看一个效果(从MP4转换成gif效果真的差别好大,中间的动画本来是连贯的平滑过度的,转成gif后跨度好大)。

自定义进度条

2.实现

2.1 思路

        本来看到UE图及动画的时候想着用系统的progressbar添加位移动画就好,做好后让设计看后还OK,但设计老大看到后说严格按照动画来,不是直接从下面弹出来的,好吧,那就需要自定义view。

        实现这样的效果就需要在一段时间内,不断地更新圆角矩形的高度,view不断地绘制,这样就实现了从底部平滑的顶上去。要实现这样的效果需要用到ValueAnimator,让view的高度从0到最大高度。

        当然后期为了拓展,也添加了一些属性,主要有边框宽度,边框颜色,背景颜色,是否绘制边框,圆角大小,进度颜色值(代码设置)如图:

属性

2.2 实现

①首先,在onSizeChanged获取到view的宽高,如图所示:

获取view的宽高

②开始执行初始动画,代码如图所示:

初始动画

③进度动画,为了每次设置进度不0开始绘制,加了一个currentProgress,记录上次的进度,下次进度从此才开始绘制。

设置进度 进度监听

④设置进度颜色。

设置进度颜色值

3.最后

完整源码:CustomView/CProgressBar.java at master · xiaschina/CustomView · GitHub

相关文章

网友评论

      本文标题:Android自定义view------带动画的progress

      本文链接:https://www.haomeiwen.com/subject/qwbgnftx.html