• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java LottieComposition类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中com.airbnb.lottie.LottieComposition的典型用法代码示例。如果您正苦于以下问题:Java LottieComposition类的具体用法?Java LottieComposition怎么用?Java LottieComposition使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



LottieComposition类属于com.airbnb.lottie包,在下文中一共展示了LottieComposition类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: parse

import com.airbnb.lottie.LottieComposition; //导入依赖的package包/类
public static AnimatableTextProperties parse(
    JsonReader reader, LottieComposition composition) throws IOException {
  AnimatableTextProperties anim = null;

  reader.beginObject();
  while (reader.hasNext()) {
    switch (reader.nextName()) {
      case "a":
        anim = parseAnimatableTextProperties(reader, composition);
        break;
      default:
        reader.skipValue();
    }
  }
  reader.endObject();
  if (anim == null) {
    // Not sure if this is possible.
    return new AnimatableTextProperties(null, null, null, null);
  }
  return anim;
}
 
开发者ID:airbnb,项目名称:lottie-android,代码行数:22,代码来源:AnimatableTextPropertiesParser.java


示例2: parseLayers

import com.airbnb.lottie.LottieComposition; //导入依赖的package包/类
private static void parseLayers(JsonReader reader, LottieComposition composition,
    List<Layer> layers, LongSparseArray<Layer> layerMap) throws IOException {
  int imageCount = 0;
  reader.beginArray();
  while (reader.hasNext()) {
    Layer layer = LayerParser.parse(reader, composition);
    if (layer.getLayerType() == Layer.LayerType.Image) {
      imageCount++;
    }
    layers.add(layer);
    layerMap.put(layer.getId(), layer);

    if (imageCount > 4) {
      L.warn("You have " + imageCount + " images. Lottie should primarily be " +
          "used with shapes. If you are using Adobe Illustrator, convert the Illustrator layers" +
          " to shape layers.");
    }
  }
  reader.endArray();
}
 
开发者ID:airbnb,项目名称:lottie-android,代码行数:21,代码来源:LottieCompositionParser.java


示例3: parse

import com.airbnb.lottie.LottieComposition; //导入依赖的package包/类
static ShapePath parse(
    JsonReader reader, LottieComposition composition) throws IOException {
  String name = null;
  int ind = 0;
  AnimatableShapeValue shape = null;

  while (reader.hasNext()) {
    switch (reader.nextName()) {
      case "nm":
        name = reader.nextString();
        break;
      case "ind":
        ind = reader.nextInt();
        break;
      case "ks":
        shape = AnimatableValueParser.parseShapeData(reader, composition);
        break;
      default:
        reader.skipValue();
    }
  }

  return new ShapePath(name, ind, shape);
}
 
开发者ID:airbnb,项目名称:lottie-android,代码行数:25,代码来源:ShapePathParser.java


示例4: isAtLeastVersion

import com.airbnb.lottie.LottieComposition; //导入依赖的package包/类
@SuppressWarnings("SameParameterValue")
public static boolean isAtLeastVersion(LottieComposition composition, int major, int minor, int
    patch) {
  if (composition.getMajorVersion() < major) {
    return false;
  } else if (composition.getMajorVersion() > major) {
    return true;
  }

  if (composition.getMinorVersion() < minor) {
    return false;
  } else if (composition.getMinorVersion() > minor) {
    return true;
  }

  return composition.getPatchVersion() >= patch;
}
 
开发者ID:airbnb,项目名称:lottie-android,代码行数:18,代码来源:Utils.java


示例5: forModel

import com.airbnb.lottie.LottieComposition; //导入依赖的package包/类
@Nullable
static BaseLayer forModel(
  Layer layerModel, LottieDrawable drawable, LottieComposition composition) {
  switch (layerModel.getLayerType()) {
    case Shape:
      return new ShapeLayer(drawable, layerModel);
    case PreComp:
      return new CompositionLayer(drawable, layerModel,
          composition.getPrecomps(layerModel.getRefId()), composition);
    case Solid:
      return new SolidLayer(drawable, layerModel);
    case Image:
      return new ImageLayer(drawable, layerModel);
    case Null:
      return new NullLayer(drawable, layerModel);
    case Text:
      return new TextLayer(drawable, layerModel);
    case Unknown:
    default:
      // Do nothing
      L.warn("Unknown layer type " + layerModel.getLayerType());
      return null;
  }
}
 
开发者ID:airbnb,项目名称:lottie-android,代码行数:25,代码来源:BaseLayer.java


示例6: onActivityResult

import com.airbnb.lottie.LottieComposition; //导入依赖的package包/类
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (data != null) {
        if (requestCode == REQUEST_FILE) {
            if (getFileName(data.getData()).substring(getFileName(data.getData()).lastIndexOf(".") + 1, getFileName(data.getData()).length()).equals("json")) {
                try {
                    JsonData jsonData = new JsonData(getFileName(data.getData()), "json");
                    mBinding.setJsonData(jsonData);
                    mAnimationView.setImageAssetsFolder("/storage/emulated/0/Download/");
                    InputStream fis = getContentResolver().openInputStream(data.getData());
                    LottieComposition.Factory
                            .fromInputStream(this, fis, new OnCompositionLoadedListener() {
                                @Override
                                public void onCompositionLoaded(LottieComposition composition) {
                                    setComposition(composition);
                                }
                            });
                } catch (FileNotFoundException e) {
                    e.printStackTrace();
                    Toast.makeText(MainActivity.this, getString(R.string.message_error_01), Toast.LENGTH_SHORT).show();
                }
            } else {
                Toast.makeText(MainActivity.this, getString(R.string.message_error_02), Toast.LENGTH_SHORT).show();
            }
        }
    }
}
 
开发者ID:jinseongho,项目名称:lottie_for_designer,代码行数:28,代码来源:MainActivity.java


示例7: createLottieDrawable

import com.airbnb.lottie.LottieComposition; //导入依赖的package包/类
private LottieDrawable createLottieDrawable(String filename) {
    final LottieDrawable lottieDrawable = new LottieDrawable();

    LottieComposition.Factory.fromAssetFileName(this, filename,
            new OnCompositionLoadedListener() {
                @Override
                public void onCompositionLoaded(@Nullable LottieComposition composition) {
                    lottieDrawable.setComposition(composition);
                    lottieDrawable.loop(true);
                    lottieDrawable.playAnimation();
                }
            });

    return lottieDrawable;
}
 
开发者ID:mReady,项目名称:progress-layouts,代码行数:16,代码来源:DrawablesActivity.java


示例8: parse

import com.airbnb.lottie.LottieComposition; //导入依赖的package包/类
static ShapeFill parse(
    JsonReader reader, LottieComposition composition) throws IOException {
  AnimatableColorValue color = null;
  boolean fillEnabled = false;
  AnimatableIntegerValue opacity = null;
  String name = null;
  int fillTypeInt = 1;

  while (reader.hasNext()) {
    switch (reader.nextName()) {
      case "nm":
        name = reader.nextString();
        break;
      case "c":
        color = AnimatableValueParser.parseColor(reader, composition);
        break;
      case "o":
        opacity = AnimatableValueParser.parseInteger(reader, composition);
        break;
      case "fillEnabled":
        fillEnabled = reader.nextBoolean();
        break;
      case "r":
        fillTypeInt = reader.nextInt();
        break;
      default:
        reader.skipValue();
    }
  }

  Path.FillType fillType = fillTypeInt == 1 ? Path.FillType.WINDING : Path.FillType.EVEN_ODD;
  return new ShapeFill(name, fillEnabled, fillType, color, opacity);
}
 
开发者ID:airbnb,项目名称:lottie-android,代码行数:34,代码来源:ShapeFillParser.java


示例9: parse

import com.airbnb.lottie.LottieComposition; //导入依赖的package包/类
static <T> Keyframe<T> parse(JsonReader reader, LottieComposition composition,
    float scale, ValueParser<T> valueParser, boolean animated) throws IOException {

  if (animated) {
    return parseKeyframe(composition, reader, scale, valueParser);
  } else {
    return parseStaticValue(reader, scale, valueParser);
  }
}
 
开发者ID:airbnb,项目名称:lottie-android,代码行数:10,代码来源:KeyframeParser.java


示例10: parse

import com.airbnb.lottie.LottieComposition; //导入依赖的package包/类
static <T> List<Keyframe<T>> parse(JsonReader reader,
    LottieComposition composition, float scale, ValueParser<T> valueParser)
    throws IOException {
  List<Keyframe<T>> keyframes = new ArrayList<>();

  if (reader.peek() == JsonToken.STRING) {
    composition.addWarning("Lottie doesn't support expressions.");
    return keyframes;
  }

  reader.beginObject();
  while (reader.hasNext()) {
    switch (reader.nextName()) {
      case "k":
        if (reader.peek() == JsonToken.BEGIN_ARRAY) {
          reader.beginArray();

          if (reader.peek() == JsonToken.NUMBER) {
            // For properties in which the static value is an array of numbers.
            keyframes.add(
                KeyframeParser.parse(reader, composition, scale, valueParser, false));
          } else {
            while (reader.hasNext()) {
              keyframes.add(KeyframeParser.parse(reader, composition, scale, valueParser, true));
            }
          }
          reader.endArray();
        } else {
          keyframes.add(KeyframeParser.parse(reader, composition, scale, valueParser, false));
        }
        break;
      default:
        reader.skipValue();
    }
  }
  reader.endObject();

  setEndFrames(keyframes);
  return keyframes;
}
 
开发者ID:airbnb,项目名称:lottie-android,代码行数:41,代码来源:KeyframesParser.java


示例11: parseAnimatableTextProperties

import com.airbnb.lottie.LottieComposition; //导入依赖的package包/类
private static AnimatableTextProperties parseAnimatableTextProperties(
    JsonReader reader, LottieComposition composition) throws IOException {
  AnimatableColorValue color = null;
  AnimatableColorValue stroke = null;
  AnimatableFloatValue strokeWidth = null;
  AnimatableFloatValue tracking = null;

  reader.beginObject();
  while (reader.hasNext()) {
    switch (reader.nextName()) {
      case "fc":
        color = AnimatableValueParser.parseColor(reader, composition);
        break;
      case "sc":
        stroke = AnimatableValueParser.parseColor(reader, composition);
        break;
      case "sw":
        strokeWidth = AnimatableValueParser.parseFloat(reader, composition);
        break;
      case "t":
        tracking = AnimatableValueParser.parseFloat(reader, composition);
        break;
      default:
        reader.skipValue();
    }
  }
  reader.endObject();

  return new AnimatableTextProperties(color, stroke, strokeWidth, tracking);
}
 
开发者ID:airbnb,项目名称:lottie-android,代码行数:31,代码来源:AnimatableTextPropertiesParser.java


示例12: parseChars

import com.airbnb.lottie.LottieComposition; //导入依赖的package包/类
private static void parseChars(
    JsonReader reader, LottieComposition composition,
    SparseArrayCompat<FontCharacter> characters) throws IOException {
  reader.beginArray();
  while (reader.hasNext()) {
    FontCharacter character = FontCharacterParser.parse(reader, composition);
    characters.put(character.hashCode(), character);
  }
  reader.endArray();
}
 
开发者ID:airbnb,项目名称:lottie-android,代码行数:11,代码来源:LottieCompositionParser.java


示例13: parse

import com.airbnb.lottie.LottieComposition; //导入依赖的package包/类
static Mask parse(
    JsonReader reader, LottieComposition composition) throws IOException {
  Mask.MaskMode maskMode = null;
  AnimatableShapeValue maskPath = null;
  AnimatableIntegerValue opacity = null;

  reader.beginObject();
  while (reader.hasNext()) {
    String mode = reader.nextName();
    switch (mode) {
      case "mode":
        switch (reader.nextString()) {
          case "a":
            maskMode = Mask.MaskMode.MaskModeAdd;
            break;
          case "s":
            maskMode = Mask.MaskMode.MaskModeSubtract;
            break;
          case "i":
            maskMode = Mask.MaskMode.MaskModeIntersect;
            break;
          default:
            Log.w(L.TAG, "Unknown mask mode " + mode + ". Defaulting to Add.");
            maskMode = Mask.MaskMode.MaskModeAdd;
        }
        break;
      case "pt":
        maskPath = AnimatableValueParser.parseShapeData(reader, composition);
        break;
      case "o":
        opacity = AnimatableValueParser.parseInteger(reader, composition);
        break;
      default:
        reader.skipValue();
    }
  }
  reader.endObject();

  return new Mask(maskMode, maskPath, opacity);
}
 
开发者ID:airbnb,项目名称:lottie-android,代码行数:41,代码来源:MaskParser.java


示例14: parse

import com.airbnb.lottie.LottieComposition; //导入依赖的package包/类
static RectangleShape parse(
    JsonReader reader, LottieComposition composition) throws IOException {
  String name = null;
  AnimatableValue<PointF, PointF> position = null;
  AnimatablePointValue size = null;
  AnimatableFloatValue roundedness = null;

  while (reader.hasNext()) {
    switch (reader.nextName()) {
      case "nm":
        name = reader.nextString();
        break;
      case "p":
        position =
            AnimatablePathValueParser.parseSplitPath(reader, composition);
        break;
      case "s":
        size = AnimatableValueParser.parsePoint(reader, composition);
        break;
      case "r":
        roundedness = AnimatableValueParser.parseFloat(reader, composition);
        break;
      default:
        reader.skipValue();
    }
  }

  return new RectangleShape(name, position, size, roundedness);
}
 
开发者ID:airbnb,项目名称:lottie-android,代码行数:30,代码来源:RectangleShapeParser.java


示例15: parse

import com.airbnb.lottie.LottieComposition; //导入依赖的package包/类
static PathKeyframe parse(
    JsonReader reader, LottieComposition composition) throws IOException {
  boolean animated = reader.peek() == JsonToken.BEGIN_OBJECT;
  Keyframe<PointF> keyframe = KeyframeParser.parse(
      reader, composition, Utils.dpScale(), PathParser.INSTANCE, animated);

  return new PathKeyframe(composition, keyframe);
}
 
开发者ID:airbnb,项目名称:lottie-android,代码行数:9,代码来源:PathKeyframeParser.java


示例16: parse

import com.airbnb.lottie.LottieComposition; //导入依赖的package包/类
public static Layer parse(LottieComposition composition) {
  Rect bounds = composition.getBounds();
  return new Layer(
      Collections.<ContentModel>emptyList(), composition, "__container", -1,
      Layer.LayerType.PreComp, -1, null, Collections.<Mask>emptyList(),
      new AnimatableTransform(), 0, 0, 0, 0, 0,
      bounds.width(), bounds.height(), null, null, Collections.<Keyframe<Float>>emptyList(),
      Layer.MatteType.None, null);
}
 
开发者ID:airbnb,项目名称:lottie-android,代码行数:10,代码来源:LayerParser.java


示例17: parse

import com.airbnb.lottie.LottieComposition; //导入依赖的package包/类
static CircleShape parse(
    JsonReader reader, LottieComposition composition) throws IOException {
  String name = null;
  AnimatableValue<PointF, PointF> position = null;
  AnimatablePointValue size = null;
  boolean reversed = false;

  while (reader.hasNext()) {
    switch (reader.nextName()) {
      case "nm":
        name = reader.nextString();
        break;
      case "p":
        position = AnimatablePathValueParser.parseSplitPath(reader, composition);
        break;
      case "s":
        size = AnimatableValueParser.parsePoint(reader, composition);
        break;
      case "d":
        // "d" is 2 for normal and 3 for reversed.
        reversed = reader.nextInt() == 3;
        break;
      default:
        reader.skipValue();
    }
  }

  return new CircleShape(name, position, size, reversed);
}
 
开发者ID:airbnb,项目名称:lottie-android,代码行数:30,代码来源:CircleShapeParser.java


示例18: parse

import com.airbnb.lottie.LottieComposition; //导入依赖的package包/类
static ShapeTrimPath parse(
    JsonReader reader, LottieComposition composition) throws IOException {
  String name = null;
  ShapeTrimPath.Type type = null;
  AnimatableFloatValue start = null;
  AnimatableFloatValue end = null;
  AnimatableFloatValue offset = null;

  while (reader.hasNext()) {
    switch (reader.nextName()) {
      case "s":
        start = AnimatableValueParser.parseFloat(reader, composition, false);
        break;
      case "e":
        end = AnimatableValueParser.parseFloat(reader, composition, false);
        break;
      case "o":
        offset = AnimatableValueParser.parseFloat(reader, composition, false);
        break;
      case "nm":
        name = reader.nextString();
        break;
      case "m":
        type = ShapeTrimPath.Type.forId(reader.nextInt());
        break;
      default:
        reader.skipValue();
    }
  }

  return new ShapeTrimPath(name, type, start, end, offset);
}
 
开发者ID:airbnb,项目名称:lottie-android,代码行数:33,代码来源:ShapeTrimPathParser.java


示例19: parse

import com.airbnb.lottie.LottieComposition; //导入依赖的package包/类
static ShapeGroup parse(
    JsonReader reader, LottieComposition composition) throws IOException {
  String name = null;
  List<ContentModel> items = new ArrayList<>();

  while (reader.hasNext()) {
    switch (reader.nextName()) {
      case "nm":
        name = reader.nextString();
        break;
      case "it":
        reader.beginArray();
        while (reader.hasNext()) {
          ContentModel newItem = ContentModelParser.parse(reader, composition);
          if (newItem != null) {
            items.add(newItem);
          }
        }
        reader.endArray();
        break;
      default:
        reader.skipValue();
    }
  }

  return new ShapeGroup(name, items);
}
 
开发者ID:airbnb,项目名称:lottie-android,代码行数:28,代码来源:ShapeGroupParser.java


示例20: parse

import com.airbnb.lottie.LottieComposition; //导入依赖的package包/类
static Repeater parse(
    JsonReader reader, LottieComposition composition) throws IOException {
  String name = null;
  AnimatableFloatValue copies = null;
  AnimatableFloatValue offset = null;
  AnimatableTransform transform = null;

  while (reader.hasNext()) {
    switch (reader.nextName()) {
      case "nm":
        name = reader.nextString();
        break;
      case "c":
        copies = AnimatableValueParser.parseFloat(reader, composition, false);
        break;
      case "o":
        offset = AnimatableValueParser.parseFloat(reader, composition, false);
        break;
      case "tr":
        transform = AnimatableTransformParser.parse(reader, composition);
        break;
      default:
        reader.skipValue();
    }
  }

  return new Repeater(name, copies, offset, transform);
}
 
开发者ID:airbnb,项目名称:lottie-android,代码行数:29,代码来源:RepeaterParser.java



注:本文中的com.airbnb.lottie.LottieComposition类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java Relationship类代码示例发布时间:2022-05-15
下一篇:
Java OutputEventAdapterConfiguration类代码示例发布时间:2022-05-15
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap