我是靠谱客的博主 洁净钻石,最近开发中收集的这篇文章主要介绍Android中组件的动画效果之平移动画,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

用到的方法是Animation translateAnimation = new TranslateAnimation(float begin_X, float end_X, float begin_Y,float end_Y);参数分别代表开始时X的坐标,结束时X的坐标,开始时Y的坐标,结束时Y的坐标。

我们可以通过

 DisplayMetrics metric = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metric);
int screen_x = metric.widthPixels;
// 屏幕宽度(像素)
int screen_y = metric.heightPixels;
// 屏幕高度(像素)

来获取屏幕的像素,从而计算更加合理的动画效果开始及结束的位置。

首先必须获取组件的id从而给组件添加动画

imageView = (ImageView) findViewById(R.id.imageview);//获取logo的id

然后创建动画对象,并设置效果


Animation translateAnimation = new TranslateAnimation(0,100,0,100);//平移动画
从0,0,平移到100,100
translateAnimation.setDuration(1500);//动画持续的时间为1.5s
imageView.setAnimation(translateAnimation_left_up);//给imageView添加的动画效果
translateAnimation.setFillEnabled(true);//使其可以填充效果从而不回到原地
translateAnimation.setFillAfter(true);//不回到起始位置
//如果不添加setFillEnabled和setFillAfter则动画执行结束后会自动回到远点
translateAnimation.startNow();//动画开始执行 放在最后即可

另外,如果在动画结束后、开始时、进行时添加其他效果可以给translateAnimation对象设置监听器

translateAnimation.setAnimationListener(
new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {//开始时
}
@Override
public void onAnimationEnd(Animation animation) {//结束时
}
@Override
public void onAnimationRepeat(Animation animation) {//进行时
}
});

最后

以上就是洁净钻石为你收集整理的Android中组件的动画效果之平移动画的全部内容,希望文章能够帮你解决Android中组件的动画效果之平移动画所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部