半年前,鄙人想搞一下 android一键清理的特效,于是乎研究了一下市面上各个产品的界面效果,发现360桌面的水晶球效果很细腻,所以就试着模仿了一下。今天翻阅以前写的代码,刚好看到了它,所以就想把它分享出来,供大家拍砖。
先上一副截图,看看原版的效果:
其实360的这个界面效果,最细腻的地方在于它在水面的最上层,覆盖了一张具有立体效果的水面图片,这样用户看起来,这个水晶球的浮动效果就很有立体的感觉了。
要想实现这个动画特效,以我的思路看来,只需要解决两个关键点就可以了:
1.利用clipdrawable对背景带有颜色的图片进行切割
2.对最上层的那张立体图片,进行缩放和上下平移,这样就可以达到跟背景图片融合为一体的效果了。
稍候我会把这个demo工程继续上传到csdn上来,所以项目中用到的素材图片,是如何分配的,大家可以把demo下载下来后,自己研究一下,还是有几个细节是需要向360学习的。
下面我们开始讲解代码:
首先,我先把项目中用到的xml文件贴出来,供大家参考:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"