Android 重写Animation实现实现下拉图片后弹射回去效果
发布日期:2021-06-30 22:37:26 浏览次数:3 分类:技术文章

本文共 1646 字,大约阅读时间需要 5 分钟。

解析:

1)interpolatedTime指的是平移的变化率(从0到1)
2)mStartHeight 控件开始的高度
3)endHeight 控件竖直移动后的高度
4)mImageView.requestLayout(); 图片在改变高度后填充布局并固定
5)ValueUtil.evalute(interpolatedTime, mStartHeight, mEndHeight) + 0.5f) 得到变化后的高度

———————————————————————

有需求者请加qq:136137465,非诚勿扰
(java 架构师全套教程,共760G, 让你从零到架构师,每月轻松拿3万)
01.高级架构师四十二个阶段高
02.Java高级系统培训架构课程148课时
03.Java高级互联网架构师课程
04.Java互联网架构Netty、Nio、Mina等-视频教程
05.Java高级架构设计2016整理-视频教程
06.架构师基础、高级片
07.Java架构师必修linux运维系列课程
08.Java高级系统培训架构课程116课时
(送:hadoop系列教程,java设计模式与数据结构, Spring Cloud微服务, SpringBoot入门)
——————————————————————–

代码:

/** * @描述         使用平移动画实现下拉图片后弹射回去 * @项目名称      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);

转载地址:https://lovoo.blog.csdn.net/article/details/51531432 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:OC中的私有方法
下一篇:Android 估值器工具类valueUtil

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年04月13日 08时44分29秒