概述
用到的方法是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中组件的动画效果之平移动画所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复