【2013-09-10 09:52 星期二 Android动画------ 模拟电视机关闭屏幕效果】

import android.graphics.Matrix;
import android.view.animation.AccelerateDecelerateInterpolator;
import android.view.animation.Animation;
import android.view.animation.Transformation;

public class TVOnAnimation extends Animation
{
        private int halfWidth;  
        private int halfHeight;  
  
        @Override  
        public void initialize(int width, int height, int parentWidth,   int parentHeight)        {  
                super.initialize(width, height, parentWidth, parentHeight);  
                setDuration(1000);  
                setFillAfter(true);  
                //View的中心点  
                halfWidth = width / 2;  
                halfHeight = height / 2;  
                setInterpolator(new AccelerateDecelerateInterpolator());  
          
        }  
  
        @Override  
        protected void applyTransformation(float interpolatedTime, Transformation t) 
        {  
  
                final Matrix matrix = t.getMatrix(); 

                //前 1/5 的时间把view的横向拉伸到了1.5倍大小,纵坐标保持不变
                if (interpolatedTime < 0.2)
                {  
                        matrix.preScale( 7.5f * interpolatedTime, 0.01f , halfWidth,halfHeight); 
                }
                //后 4/5 的时间 做了两件事:
                //                1.view的纵向拉伸到了原始大小
                //                2.view的横向从1.5倍压缩到了原始大小
                else
                {  
                        matrix.preScale(1 + 0.325f*(1 - interpolatedTime),  interpolatedTime, halfWidth, halfHeight);  
                }  
        }  
}

使用: view.setAnimation(new TVOnAnimation());
另附上电视关机动画: http://www.cnblogs.com/mudoot/articles/1985142.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值