阅读更多

  首先创建一个TVOffAnimation继承于Animation,这个类是专门做动画效果的~不用多说了吧~然后在initialize里面设置一些参数

JAVA:

public void initialize(int width, int height, int parentWidth,
                        int parentHeight) {

                super.initialize(width, height, parentWidth, parentHeight);
                setDuration(500);
                setFillAfter(true);
                //保存View的中心点
                halfWidth = width / 2;
                halfHeight = height / 2;
                setInterpolator(new AccelerateDecelerateInterpolator());
               
        }

  其中setInterpolator(newAccelerateDecelerateInterpolator())选择一个先加速后减速的效果最后动画的部分里面

JAVA:

protected void applyTransformation(float interpolatedTime, Transformation t) {

                final Matrix matrix = t.getMatrix();
                if (interpolatedTime < 0.8) {
                        matrix.preScale(1+0.625f*interpolatedTime, 1-interpolatedTime/0.8f+0.01f,halfWidth,halfHeight);
                }else{
                        matrix.preScale(7.5f*(1-interpolatedTime),0.01f,halfWidth,halfHeight);
                }
        }

  interpolatedTime表示的是当前动画的间隔时间范围是0-1那么横向来讲前80%的时间我们要横向拉伸到150%,纵向是直接减小,最后只留一条线。后20%的时间里我们要横向从150%压缩至0%,纵向保持不变就好了,当横向为0的时候就全部消失了。

原文:http://android.tgbus.com/Android/tutorial/201103/347507.shtml

 

更多相关文章

  1. Sina微博的开发心得-1 logo界面
  2. Android常用开源库
  3. ViewPager.setPagerTransformer设置各种翻滚动画效果
  4. Android(安卓)属性动画备忘 nineold
  5. Android(安卓)中关于属性动画的一些思考,或许能为你解决一定的性
  6. android 开源组件合集-UI篇(2014-08-25更新)
  7. Android(安卓)自定义View实现波浪动画
  8. 49.Android过渡动画的一个小练习
  9. Android动画(一)Interpolator

随机推荐

  1. ch08 Android(安卓)Intent
  2. android HttpClient 上传图片
  3. Porting WiFi drivers to Android
  4. android 中buildToolsVersion和dependenc
  5. 关于android contentprovider 多线程读取
  6. android zxing生成二维码
  7. Android(安卓)WebView
  8. android 多个activity 共用一套广播Broad
  9. android submenu
  10. android assets/raw 大文件读取