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

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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,374评论 25 709
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 14,516评论 2 59
  • 原文链接:https://github.com/opendigg/awesome-github-android-u...
    IM魂影阅读 33,088评论 6 472
  • 穿山 渡河 漂洋过海看风景 听歌 读书 云淡风轻看回忆 一个人过四季 你只需要向前走 下雨天 也不过只要等天晴. ...
    浅浅浅笑阅读 1,283评论 0 0

友情链接更多精彩内容