前言
用过猎豹清理大师或者相类似的安全软件,大家都知道它们都会有一个功能,那就是内存清理,而展现的形式是通过一个圆形的小球来显示内存大小,通过百分比数字以及进度条的形式来显示清理的进度。本文将对该效果的实现过程进行详细讲述,但不涉及内存清理的实现。
预览
我们先来看看最终实现的效果是怎样的(gif效果有点差):
从上面的图片,我们可以看出:
①当加速球View显示的时候,进度条以及百分比数字会从0%开始增加到某一数值(60%)。
②进度条停止增加后,中间的圆沿着Y轴开始翻转,会翻转180度,上面的百分比数字并不会出现镜像效果(下面会提到)。
③用户点击该小球后,开始清理内存,进度条和百分比数字会经历减小至0,再由0增加到某一数值的过程。
实现过程详解
其实上面的效果,笔者是仿照猎豹清理大师的加速球所实现的,略有不同,但大致形式相同。如果读者对上面的效果感兴趣,那么请继续读下去吧,接下来是正文部分。
Step 1.初始化
我们首先要新建一个LieBaoView.java,继承自View,我们重写它的构造函数如下:
public LieBaoView(Context context) { super(context); init(); } public LieBaoView(Context context, AttributeSet attrs) { super(context, attrs); init(); } public LieBaoView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); init(); }