WXAnimationModule.java 文件源码

java
阅读 36 收藏 0 点赞 0 评论 0

项目:weex-uikit 作者:
private static @Nullable
Interpolator createTimeInterpolator(@NonNull WXAnimationBean animation) {
  String interpolator = animation.timingFunction;
  if (!TextUtils.isEmpty(interpolator)) {
    switch (interpolator) {
      case WXAnimationBean.EASE_IN:
        return new AccelerateInterpolator();
      case WXAnimationBean.EASE_OUT:
        return new DecelerateInterpolator();
      case WXAnimationBean.EASE_IN_OUT:
        return new AccelerateDecelerateInterpolator();
      case WXAnimationBean.LINEAR:
        return new LinearInterpolator();
      default:
        //Parse cubic-bezier
        try {
          SingleFunctionParser<Float> parser = new SingleFunctionParser<>(
              animation.timingFunction,
              new SingleFunctionParser.FlatMapper<Float>() {
                @Override
                public Float map(String raw) {
                  return Float.parseFloat(raw);
                }
              });
          List<Float> params = parser.parse(WXAnimationBean.CUBIC_BEZIER);
          if (params != null && params.size() == WXAnimationBean.NUM_CUBIC_PARAM) {
            return PathInterpolatorCompat.create(
                params.get(0), params.get(1), params.get(2), params.get(3));
          }
          else {
            return null;
          }
        }catch (RuntimeException e){
          return null;
        }
    }
  }
  return null;
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号