温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2020-09-03 05:55:19 来源:脚本之家 阅读:111 作者:CharlinGod 栏目:移动开发

本文实例讲述了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开发动画技巧汇总》、《Android开发入门与进阶教程》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android文件操作技巧汇总》、《Android资源操作技巧汇总》及《Android控件用法总结》

希望本文所述对大家Android程序设计有所帮助。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI