Android 电视退出程序Animation

本文介绍了一个名为TV的自定义动画类实现,该类通过继承Android的Animation类来创建特殊的缩放效果。动画主要通过修改View的尺寸比例实现,并在特定时间点应用不同的缩放系数。此外,还展示了如何通过定时器结合动画实现自动关闭的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package gongzibai.co.cc;

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

public class TV extends Animation {
private int halfWidth;
private int halfHeight;

@Override
public void initialize(int width, int height, int parentWidth,
int parentHeight) {
// TODO Auto-generated method stub
super.initialize(width, height, parentWidth, parentHeight);
setDuration(800);
setFillAfter(true);
// 保存View的中心点
halfWidth = width / 2;
halfHeight = height / 2;
setInterpolator(new AccelerateDecelerateInterpolator());

}

@Override
protected void applyTransformation(float interpolatedTime, Transformation t) {
// TODO Auto-generated method stub
super.applyTransformation(interpolatedTime, 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);

}
}
}

--------配合定时器 使用:
mLinearLayout.startAnimation(new TVOffAnimation());
new Timer().schedule(new TimerTask() {

@Override
public void run() {
// TODO Auto-generated method stub
android.os.Process.killProcess(android.os.Process.myPid());

}
}, 1000);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值