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相关内容感兴趣的读者可查看本站专题:《Android开发动画技巧汇总》、《Android开发入门与进阶教程》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android文件操作技巧汇总》、《Android资源操作技巧汇总》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。
相关文章
详解Android中fragment和viewpager的那点事儿
本文主要对Android中fragment和viewpager进行详细介绍,具有一定的参考价值,需要的朋友一起来看下吧2016-12-12Android编程入门之HelloWorld项目目录结构分析
这篇文章主要介绍了Android编程入门之HelloWorld项目目录结构分析,较为详细的分析了Android项目的目录结构与具体作用,需要的朋友可以参考下2015-12-12Android Jetpack Compose实现列表吸顶效果
安卓传统的Recyclerview打造悬浮头部StickyHeader的吸顶效果,十分麻烦,而在Compose中就简单多了。因此,本文将采用Jetpack Compose实现列表吸顶效果,需要的可以参考一下2022-02-02
最新评论