当前位置: 首页 > news >正文

一般淘宝网站做几个月赚钱/杭州seo排名收费

一般淘宝网站做几个月赚钱,杭州seo排名收费,企业做网站一般多少钱,梅州建站方法Interpolator 被用来修饰动画效果,定义动画的变化率,可以使存在的动画效果accelerated(加速),decelerated(减速),repeated(重复),bounced(弹跳)等。 AccelerateDecelerateInterpolator在动画开始与结束的地方速率改变比较慢,在中间…

Interpolator 被用来修饰动画效果,定义动画的变化率,可以使存在的动画效果accelerated(加速),decelerated(减速),repeated(重复),bounced(弹跳)等。

AccelerateDecelerateInterpolator在动画开始与结束的地方速率改变比较慢,在中间的时候加速
AccelerateInterpolator在动画开始的地方速率改变比较慢,然后开始加速
AnticipateInterpolator开始的时候向后然后向前甩
AnticipateOvershootInterpolator开始的时候向后然后向前甩一定值后返回最后的值
BounceInterpolator动画结束的时候弹起
CycleInterpolator动画循环播放特定的次数,速率改变沿着正弦曲线
DecelerateInterpolator在动画开始的地方快然后慢
LinearInterpolator以常量速率改变
OvershootInterpolator向前甩一定值后再回到原来位置

如果android定义的interpolators不符合你的效果也可以自定义interpolators

Interpolator接口

复制代码
package android.animation;/*** 时间插值器定义了一个动画的变化率。* 这让动画让非线性的移动轨迹,例如加速和减速。*/
public interface TimeInterpolator {/*** 将动画已经消耗的时间的分数映射到一个表示插值的分数。* 然后将插值与动画的变化值相乘来推导出当前已经过去的动画时间的动画变化量。** @param input  一个0到1.0表示动画当前点的值,0表示开头。1表示结尾* @return   插值。它的值可以大于1来超出目标值,也小于0来空破底线。*/float getInterpolation(float input);
}
复制代码

TimeInterpolator是在Android API11时加入的之前类就叫Interpolator。

复制代码
package android.view.animation;import android.animation.TimeInterpolator;/*** * 一个定义动画变化率的插值器。* 它允许对基本的(如透明,缩放,平移,旋转)进行加速,减速,重复等动画效果*/
public interface Interpolator extends TimeInterpolator {// A new interface, TimeInterpolator, was introduced for the new android.animation// package. This older Interpolator interface extends TimeInterpolator so that users of// the new Animator-based animations can use either the old Interpolator implementations or// new classes that implement TimeInterpolator directly.
}
复制代码

AccelerateInterpolator

复制代码
/*** 一个开始很慢然后不断加速的插值器。*/
public class AccelerateInterpolator implements Interpolator {private final float mFactor;private final double mDoubleFactor;public AccelerateInterpolator() {mFactor = 1.0f;mDoubleFactor = 2.0;}/*** * @param factor *     动画的快慢度。将factor设置为1.0f会产生一条y=x^2的抛物线。
增加factor到1.0f之后为加大这种渐入效果(也就是说它开头更加慢,结尾更加快)*/public AccelerateInterpolator(float factor) {mFactor = factor;mDoubleFactor = 2 * mFactor;}public AccelerateInterpolator(Context context, AttributeSet attrs) {TypedArray a =context.obtainStyledAttributes(attrs, com.android.internal.R.styleable.AccelerateInterpolator);mFactor = a.getFloat(com.android.internal.R.styleable.AccelerateInterpolator_factor, 1.0f);mDoubleFactor = 2 * mFactor;a.recycle();}@Overridepublic float getInterpolation(float input) {if (mFactor == 1.0f) {return input * input;} else {return (float)Math.pow(input, mDoubleFactor);}}
}
复制代码

加速的快慢度由参数fractor决定。当fractor值为1.0f时,动画加速轨迹相当于一条y=x^2的抛物线。

image

当fractor不为1时,轨迹曲线是y=x^(2*fractor)(0<x<=1)的曲线。(当fractor为4时)

image

如果你在使用AccelerateInterpolator时,想要那种一开始很慢,然后突然就很快的加速的动画效果的话,就将fractor设置大点。

DecelerateInterpolator

复制代码
/*** 一个开始比较快然后减速的插值器**/
public class DecelerateInterpolator implements Interpolator {public DecelerateInterpolator() {}/*** * @param factor*        动画的快慢度。将factor值设置为1.0f时将产生一条从上向下的y=x^2抛物线。*        增加factor到1.0f以上将使渐入的效果增强(也就是说,开头更快,结尾更慢)*/public DecelerateInterpolator(float factor) {mFactor = factor;}public DecelerateInterpolator(Context context, AttributeSet attrs) {TypedArray a =context.obtainStyledAttributes(attrs, com.android.internal.R.styleable.DecelerateInterpolator);mFactor = a.getFloat(com.android.internal.R.styleable.DecelerateInterpolator_factor, 1.0f);a.recycle();}@Overridepublic float getInterpolation(float input) {float result;if (mFactor == 1.0f) {result = (1.0f - ((1.0f - input) * (1.0f - input)));} else {result = (float)(1.0f - Math.pow((1.0f - input), 2 * mFactor));}return result;}private float mFactor = 1.0f;
}
复制代码

当fractor为1.0f。它减速的轨迹曲线为1-(1-x)^2。

image

AccelerateDecelerateInterpolator

复制代码
/*** 一个变化率开始慢从中间后开始变快。*/
public class AccelerateDecelerateInterpolator implements Interpolator {public AccelerateDecelerateInterpolator() {}@SuppressWarnings({"UnusedDeclaration"})public AccelerateDecelerateInterpolator(Context context, AttributeSet attrs) {}@Overridepublic float getInterpolation(float input) {return (float)(Math.cos((input + 1) * Math.PI) / 2.0f) + 0.5f;}
}
复制代码

image

LinearInterpolator

复制代码
public class LinearInterpolator implements Interpolator {public LinearInterpolator() {}public LinearInterpolator(Context context, AttributeSet attrs) {}public float getInterpolation(float input) {return input;}
}
复制代码

BounceInterpolator

复制代码
/*** 这个插值器的插值在后面呈弹跳状态。*/
public class BounceInterpolator implements Interpolator {public BounceInterpolator() {}@SuppressWarnings({"UnusedDeclaration"})public BounceInterpolator(Context context, AttributeSet attrs) {}private static float bounce(float t) {return t * t * 8.0f;}@Overridepublic float getInterpolation(float t) {// _b(t) = t * t * 8// bs(t) = _b(t) for t < 0.3535// bs(t) = _b(t - 0.54719) + 0.7 for t < 0.7408// bs(t) = _b(t - 0.8526) + 0.9 for t < 0.9644// bs(t) = _b(t - 1.0435) + 0.95 for t <= 1.0// b(t) = bs(t * 1.1226)t *= 1.1226f;if (t < 0.3535f) return bounce(t);else if (t < 0.7408f) return bounce(t - 0.54719f) + 0.7f;else if (t < 0.9644f) return bounce(t - 0.8526f) + 0.9f;else return bounce(t - 1.0435f) + 0.95f;}
}
复制代码

image

AnticipateInterpolator

复制代码
/*** 一个开始向后荡,然后向前荡的插值器。*/
public class AnticipateInterpolator implements Interpolator {private final float mTension;public AnticipateInterpolator() {mTension = 2.0f;}/*** @param tension *  绷紧程度,当绷紧程序为0.0f时,也就没有了反向作用力。插值器将退化成一个y=x^3的加速插值器。*/public AnticipateInterpolator(float tension) {mTension = tension;}public AnticipateInterpolator(Context context, AttributeSet attrs) {TypedArray a = context.obtainStyledAttributes(attrs,com.android.internal.R.styleable.AnticipateInterpolator);mTension =a.getFloat(com.android.internal.R.styleable.AnticipateInterpolator_tension, 2.0f);a.recycle();}@Overridepublic float getInterpolation(float t) {// a(t) = t * t * ((tension + 1) * t - tension)return t * t * (((mTension + 1) * t) - mTension);}
}
复制代码

image

AnticipateOvershootInterpolator

复制代码
/*** 一个插值器它开始向上推,然后向下荡,荡过最低线。然后再回到最低线。* <hr/>* An interpolator where the change starts backward then flings forward and overshoots* the target value and finally goes back to the final value.*/
public class AnticipateOvershootInterpolator implements Interpolator {private final float mTension;public AnticipateOvershootInterpolator() {mTension = 2.0f * 1.5f;}/*** @param tension *  anticipation/overshoot的比值。当和tension值为0.0f时,*  也就没有anticipation/overshoot的比值了,插值器退化为一个加速/减速插值器。*/public AnticipateOvershootInterpolator(float tension) {mTension = tension * 1.5f;}/*** @param tension Amount of anticipation/overshoot. When tension equals 0.0f,*                there is no anticipation/overshoot and the interpolator becomes*                a simple acceleration/deceleration interpolator.* @param extraTension * 乘以tension的值。例如,在上面构造函数中extraTension的值为1.5f*/public AnticipateOvershootInterpolator(float tension, float extraTension) {mTension = tension * extraTension;}public AnticipateOvershootInterpolator(Context context, AttributeSet attrs) {TypedArray a = context.obtainStyledAttributes(attrs, AnticipateOvershootInterpolator);mTension = a.getFloat(AnticipateOvershootInterpolator_tension, 2.0f) *a.getFloat(AnticipateOvershootInterpolator_extraTension, 1.5f);a.recycle();}private static float a(float t, float s) {return t * t * (((s + 1) * t) - s);}private static float o(float t, float s) {return t * t * (((s + 1) * t) + s);}@Overridepublic float getInterpolation(float t) {// a(t, s) = t * t * ((s + 1) * t - s)// o(t, s) = t * t * ((s + 1) * t + s)// f(t) = 0.5 * a(t * 2, tension * extraTension), when t < 0.5// f(t) = 0.5 * (o(t * 2 - 2, tension * extraTension) + 2), when t <= 1.0if (t < 0.5f) return 0.5f * a(t * 2.0f, mTension);else return 0.5f * (o((t * 2.0f) - 2.0f, mTension) + 2.0f);}
}
复制代码

image

CycleInterpolator

复制代码
/*** 以指定的周期重复动画。变化率曲线为正弦。*/
public class CycleInterpolator implements Interpolator {/*** * @param cycles 要重复的周期数*/public CycleInterpolator(float cycles) {mCycles = cycles;}public CycleInterpolator(Context context, AttributeSet attrs) {TypedArray a =context.obtainStyledAttributes(attrs, com.android.internal.R.styleable.CycleInterpolator);mCycles = a.getFloat(com.android.internal.R.styleable.CycleInterpolator_cycles, 1.0f);a.recycle();}@Overridepublic float getInterpolation(float input) {return (float)(Math.sin(2 * mCycles * Math.PI * input));}private float mCycles;
}
复制代码

image

OvershootInterpolator

复制代码
/*** An interpolator where the change flings forward and overshoots the last value* then comes back.*/
public class OvershootInterpolator implements Interpolator {private final float mTension;public OvershootInterpolator() {mTension = 2.0f;}/*** @param tension Amount of overshoot. When tension equals 0.0f, there is*                no overshoot and the interpolator becomes a simple*                deceleration interpolator.*/public OvershootInterpolator(float tension) {mTension = tension;}public OvershootInterpolator(Context context, AttributeSet attrs) {TypedArray a = context.obtainStyledAttributes(attrs,com.android.internal.R.styleable.OvershootInterpolator);mTension =a.getFloat(com.android.internal.R.styleable.OvershootInterpolator_tension, 2.0f);a.recycle();}@Overridepublic float getInterpolation(float t) {// _o(t) = t * t * ((tension + 1) * t + tension)// o(t) = _o(t - 1) + 1t -= 1.0f;return (t * t * (((mTension + 1) * t) + mTension)) + 1.0f;//plot {(x-1)(x-1)((tension+1)(x-1)+tension)+1,(0<x<=1)}
    }
}
复制代码

当tension为默认值2时,

image

 

我是天王盖地虎的分割线




本文转自我爱物联网博客园博客,原文链接:http://www.cnblogs.com/yydcdut/p/4418213.html,如需转载请自行联系原作者

http://www.jmfq.cn/news/4968469.html

相关文章:

  • 免费发广告网站/百度识图查图片
  • 西安优秀的集团门户网站建设/销售新人怎么找客户
  • 网站三网合一什么意思/网络公司seo推广
  • 黄村网站建设价格/灵宝seo公司
  • 西安微信网站制作/网络推广外包注意哪些
  • 建设静态网站/信息流广告优化师
  • 网站的电子地图怎么做/搜索引擎推广的基本方法
  • 菲律宾有做网站的吗/网络营销推广方式有哪些
  • 国产wordpress模板/百度搜索关键词优化
  • 化工原料东莞网站建设/2345网址导航官网官方电脑版
  • 做服装微商城网站/佛山seo网站排名
  • 企业活动网站创意案例/网络营销渠道策略研究
  • 做电影网站如何推广方案/sem工作内容
  • 徐州市贾汪区建设局网站/兰州正规seo整站优化
  • 手机访问网站建设中/新闻头条最新消息10条
  • 网站建设的方法/优化大师网页版
  • 佛山骏域网站建设专家/凡科建站后属于自己的网站吗
  • springboot和WordPress/seo任务
  • 一个完整的网站设计/宜兴百度推广公司
  • 推荐几个手机能看的网站/网站关键词排名查询工具
  • 甘肃嘉峪关建设局网站/线下营销推广方式有哪些
  • 深圳的网站建设公司的外文名是/网络营销有哪些手段
  • 发布文章后马上更新网站主页/南宁seo多少钱报价
  • 简易的小企业网站建设/批量查询权重
  • 附近装修公司/跟我学seo从入门到精通
  • wordpress可以做门户网站/seo批量建站
  • 网站怎么做推广/免费个人博客网站
  • 功能网站建设/济南seo顾问
  • 做h5网站用什么/seo关键词优化哪个平台好
  • wordpress函数/北京网站优化