您的位置:首页 > 其它

Interpolator定义动画变化率 如微博发动态

2016-07-25 13:39 274 查看
例如微博 发表动态页面的动画效果:从底部滑到屏幕中间向前甩一定值后再回到原来位置
interpolator = new OvershootInterpolator();//向前甩一定值后再回到原来位置
Animation animation = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.dialog_go);
animation.setInterpolator(interpolator);
dialog.findViewById(R.id.dialog_layout).setAnimation(animation);
R.anim.dialog_go:
默认屏幕中心位置为(0,0) 顶部是100%p 底部是-100%p
<set xmlns:android="http://schemas.android.com/apk/res/android"android:interpolator="@android:anim/overshoot_interpolator"android:duration="1000"><translateandroid:fromYDelta="-100%p"android:toYDelta="0" /><alphaandroid:fromAlpha="0"android:toAlpha="1" /></set>
        /**         * 动画效果accelerated(加速),decelerated(减速),repeated(重复),bounced(弹跳)等。         *         *   AccelerateDecelerateInterpolator 在动画开始与结束的地方速率改变比较慢,在中间的时候加速         AccelerateInterpolator  在动画开始的地方速率改变比较慢,然后开始加速         AnticipateInterpolator 开始的时候向后然后向前甩         AnticipateOvershootInterpolator 开始的时候向后然后向前甩一定值后返回最后的值         BounceInterpolator   动画结束的时候弹起         CycleInterpolator 动画循环播放特定的次数,速率改变沿着正弦曲线         DecelerateInterpolator 在动画开始的地方快然后慢         LinearInterpolator   以常量速率改变         OvershootInterpolator    向前甩一定值后再回到原来位置         */
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: