Android animation interpolator: AcceletateDecelerate

AccelerateDecelerate:

y = cos((t+1)π)/2+0.5

可让动画看起来较平顺,系统默认的interpolator也是AcceletateDecelerate

Demo:

Source:

public class AccelerateDecelerateInterpolator extends BaseInterpolator implements NativeInterpolatorFactory {
    public AccelerateDecelerateInterpolator() {
    }

    @SuppressWarnings({"UnusedDeclaration"})
    public AccelerateDecelerateInterpolator(Context context, AttributeSet attrs) {
    }

    public float getInterpolation(float input) {
        return (float)(Math.cos((input + 1) * Math.PI) / 2.0f) + 0.5f;
        // y = cos((t + 1)Math.PI)/2 + 0.5
    }

    @Override
    public long createNativeInterpolator() {
        return NativeInterpolatorFactoryHelper.createAccelerateDecelerateInterpolator();
    }
}

原文:大专栏  Android animation interpolator: AcceletateDecelerate

原文地址:https://www.cnblogs.com/petewell/p/11457901.html

时间: 2024-11-13 06:43:29

Android animation interpolator: AcceletateDecelerate的相关文章

Android Animation Interpolator

备注:Scale应该比Translate先添加到Set里面 Interpolator 时间插值类,定义动画变换的速度.能够实现alpha/scale/translate/rotate动画的加速.减速和重复等.Interpolator类其实是一个空接口,继承自TimeInterpolator,TimeInterpolator时间插值器允许动画进行非线性运动变换,如加速和限速等,该接口中只有接口中有一个方法 float getInterpolation(float input)这个方法.传入的值是一

android.animation(2) - ValueAnimator的 Interpolator 和 Evaluator

一.插值器 插值器,也叫加速器:有关插值器的知识,我在<Animation动画详解(二)——Interpolator插值器>中专门讲过,大家可以先看看这篇文章中各个加速器的效果.这里再讲一下什么是插值器.我们知道,我们通过ofInt(0,400)定义了动画的区间值是0到400:然后通过添加AnimatorUpdateListener来监听动画的实时变化.那么问题来了,0-400的值是怎么变化的呢?像我们骑自行车,还有的快有的慢呢:这个值是匀速变化的吗?如果是,那我如果想让它先加速再减速的变化该

[转]Android Animation

3.0以前,android支持两种动画模式,tween animation,frame animation,在android3.0中又引入了一个新的动画系统:property animation,这三种动画模式在SDK中被称为property animation,view animation,drawable animation. 1. View Animation(Tween Animation) View Animation(Tween Animation):补间动画,给出两个关键帧,通过一

Android Animation动画详解(二): 组合动画特效

前言 上一篇博客Android Animation动画详解(一): 补间动画 我已经为大家介绍了Android补间动画的四种形式,相信读过该博客的兄弟们一起都了解了.如果你还不了解,那点链接过去研读一番,然后再过来跟着我一起学习如何把简单的动画效果组合在一起,做出比较酷炫的动画特效吧. 一. 动画的续播 如题,大家想想,如果一个页面上包含了许多动画,这些动画要求按顺序播放,即一个动画播放完成后,继续播放另一个动画,使得这些动画具有连贯性.那该如何实现呢? 有开发经验或者是逻辑思维的人肯定会想,对

从源码角度理解android动画Interpolator类的使用

做过android动画的人对Interpolator应该不会陌生,这个类主要是用来控制android动画的执行速率,一般情况下,如果我们不设置,动画都不是匀速执行的,系统默认是先加速后减速这样一种动画执行速率. android通过Interpolator类来让我们自己控制动画的执行速率,还记得上一篇博客中我们使用属性动画实现的旋转效果吗?在不设置Interpolator的情况下,这个动画是先加速后减速,我们现在使用android系统提供的类LinearInterpolator来设置动画的执行速率

Android Animation 动画

动画类型 Android的animation由四种类型组成  Android动画模式 Animation主要有两种动画模式:一种是tweened animation(渐变动画) XML中 JavaCode alpha AlphaAnimation scale ScaleAnimation 一种是frame by frame(画面转换动画) XML中 JavaCode translate TranslateAnimation rotate RotateAnimation 如何在XML文件中定义动画

Android Animation动画实战(一): 从布局动画引入ListView滑动时,每一Item项的显示动画

前言: 之前,我已经写了两篇博文,给大家介绍了Android的基础动画是如何实现的,如果还不清楚的,可以点击查看:Android Animation动画详解(一): 补间动画 及 Android Animation动画详解(二): 组合动画特效 . 已经熟悉了基础动画的实现后,便可以试着去实现常见APP中出现过的那些精美的动画.今天我主要给大家引入一个APP的ListView的动画效果: 当展示ListView时,Listview的每一个列表项都按照规定的动画显示出来. 说起来比较抽象,先给大家

Android——Animation

Android中的动画: 一.分类:TweenAnimation(补间动画)和FrameAnimation(帧动画). TweenAnimation,通过对图像不断做变换产生动画效果,是一种渐变效果: AlphaAnimation:透明度渐变: ScaleAnimation:尺寸缩放: TranslateAnimation:移动 RotateAnimation:旋转 FrameAnimation:顺序播放事先做好的图像是一种转换动画: 二.属性简介: TweenAnimation共同属性: an

Android Animation (动画设计)

Android Animation(动画设计) 本文主要介绍逐帧动画,补间动画,属性动画 使用简单的图片 1.Bitmap和BitmapFactory 把一个Bitmap包装成BitmapDrawable对象,调用BitmapDrawable的构造器 BitmapDrawable drawable = new BitmapDrawable(bitmap); 获取BitmapDrawable所包装的Bitmap, Bitmap bitmap = drawable.getBitmap(); 2.Bi