首页 > 系统 > Android > 正文

Android开发重写Animation实现下拉图片后弹射回去效果示例

2019-10-22 18:25:02
字体:
来源:转载
供稿:网友

本文实例讲述了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程序设计有所帮助。


注:相关教程知识阅读请移步到Android开发频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表