Android重写Animation实现下拉图片后弹射回去效果 Android开发重写Animation实现下拉图片后弹射回去效果示例
CharlinGod 人气:0想了解Android开发重写Animation实现下拉图片后弹射回去效果示例的相关内容吗,CharlinGod在本文为您仔细讲解Android重写Animation实现下拉图片后弹射回去效果的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:Android,重写,Animation,下拉,图片,弹射,下面大家一起来学习吧。
本文实例讲述了Android开发重写Animation实现下拉图片后弹射回去效果。分享给大家供大家参考,具体如下:
1. 解析:
1)interpolatedTime指的是平移的变化率(从0到1)
2)mStartHeight 控件开始的高度
3)endHeight 控件竖直移动后的高度
4)mImageView.requestLayout(); 图片在改变高度后填充布局并固定
5)ValueUtil.evalute(interpolatedTime, mStartHeight, mEndHeight) + 0.5f) 得到变化后的高度
2. 代码:
/** * @描述 使用平移动画实现下拉图片后弹射回去 * @项目名称 App_imooc * @包名 com.android.imooc.paralla * @类名 ResetAnimation * @author chenlin * @date 2015年5月29日 下午12:27:00 * @version 1.0 */ public class ResetAnimation extends Animation { private ImageView mImageView; private int mStartHeight; private int mEndHeight; public ResetAnimation(ImageView imageView, int startHeight, int endHeight) { this.mImageView = imageView; this.mStartHeight = startHeight; this.mEndHeight = endHeight; setDuration(500); } @Override protected void applyTransformation(float interpolatedTime, Transformation t) { int newHeight = (int) (ValueUtil.evalute(interpolatedTime, mStartHeight, mEndHeight) + 0.5f); mImageView.getLayoutParams().height = newHeight; mImageView.requestLayout(); super.applyTransformation(interpolatedTime, t); } }
3. 使用方法:
//竖直移动动画 ResetAnimation anim = new ResetAnimation(mImageView, startHeight, endHeight); anim.setInterpolator(new OvershootInterpolator()); startAnimation(anim);
希望本文所述对大家Android程序设计有所帮助。
加载全部内容