当前位置: 首页 > 软件库 > 手机/移动开发 > >

ui-lottie

NativeScript plugin to expose Airbnb Lottie
授权协议 View license
开发语言 JavaScript TypeScript
所属分类 手机/移动开发
软件类型 开源软件
地区 不详
投 递 者 燕翔飞
操作系统 iOS
开源组织
适用人群 未知
 软件概览

nativescript-community/ui-lottie

NativeScript plugin to expose Airbnb Lottie for awesome animations.

Action Build

Changelog

All notable changes to this project will be documented in the changelog.

Demo Screen

The .gif does not do the fluid animations justice

Installation

To install execute:

tns plugin add @nativescript-community/ui-lottie

Usage

NativeScript (Core)

XML

<Page
    xmlns="http://schemas.nativescript.org/tns.xsd"
    xmlns:Lottie="@nativescript-community/ui-lottie" navigatingTo="navigatingTo" class="page">
    <StackLayout>
        <Lottie:LottieView src="PinJump.json" height="130" loop="true" autoPlay="true" loaded="yourLoadedEvent" />
    </StackLayout>
</Page>

TS

import { LottieView } from "@nativescript-community/ui-lottie";

public yourLoadedEvent(args) {
    this._myLottie = args.object as LottieView; /// this is the instance of the LottieAnimationView
}

NativeScript Angular

XML

<StackLayout>
    <LottieView width="100" height="150" [src]="src" [loop]="loop" [autoPlay]="autoPlay" (loaded)="lottieViewLoaded($event)">     </LottieView>
</StackLayout>

Component

import { Component } from '@angular/core';
import { registerElement } from 'nativescript-angular';
import { LottieView } from '@nativescript-community/ui-lottie';

registerElement('LottieView', () => LottieView);

@Component({
  templateUrl: 'home.component.html',
  moduleId: module.id
})
export class HomeComponent {
  public loop: boolean = true;
  public src: string;
  public autoPlay: boolean = true;
  public animations: Array<string>;

  private _lottieView: LottieView;

  constructor() {
    this.animations = [
      'Mobilo/A.json',
      'Mobilo/D.json',
      'Mobilo/N.json',
      'Mobilo/S.json'
    ];
    this.src = this.animations[0];
  }

  lottieViewLoaded(event) {
    this._lottieView = <LottieView>event.object;
  }
}

NativeScript Vue

Bootstrap (probably in app.js)

Vue.registerElement(
  'LottieView',
  () => require('@nativescript-community/ui-lottie').LottieView
);

Component

<template>
    <Page class="page">
        <StackLayout>
            <LottieView height="130" src="PinJump.json" :loop="true" :autoPlay="true" @loaded="lottieViewLoaded"></LottieView>
        </StackLayout>
    </page
</template>

<script>
    export default {
        methods: {
            lottieViewLoaded(args) {
                this._lottieView = args.object;
            },
        },
        data() {
            return {
                _lottieView: null,
            }
        }
    };
</script>

Assets

�� You can find animations in the sample-effects folder.

Android

Place your animation files in the NS app's app/App_Resources/Android/src/main/assets folder.

Note: In a nativescript-vue project the above folder may not exist. Place the files in platforms/android/app/src/main/assets.

iOS

Place your animations files in your app/App_Resources/iOS/ folder.

Properties (bindable)

Property Type Default Description
autoPlay boolean false Start LottieView animation on load if true.
loop boolean false Loop continuously animation if true.
src string null Animation path to .json file.

Properties

Property Type Default Description
completionBlock (boolean) => void null Completion block to be executed upon completion of the animation. The animation is considered complete when it finishes playing and is no longer looping.
duration number null Get the duration of the animation.
progress number 0 Get/set the progress of the animation.
speed number 1 Get/set the speed of the animation.

Methods

Method Return Parameters Description
cancelAnimation void None Pauses the animation for the LottieView instance.
isAnimating boolean None Returns true if the LottieView is animating, else false.
playAnimation void None Plays the animation for the LottieView instance.
playAnimationFromProgressToProgress void startProgress, endProgress Plays the animation for the LottieView instance from the specified start and end progress values (between 0 and 1).
setColorValueDelegateForKeyPath void value, keyPath Sets the provided color value on each property that matches the specified keyPath in the LottieView instance.
setOpacityValueDelegateForKeyPath void value, keyPath Sets the provided opacity value (0 - 1) on each property that matches the specified keyPath in the LottieView instance.

Contributors

Brad Martin Nathan Walker Jean-Baptiste Aniel HamdiWanis
bradmartin NathanWalker rhanb HamdiWanis
itstheceo itstheceo
itstheceo mudlabs
  • Lottie简介 官方文档:https://lottiefiles.com/ Lottie是一个库,可以解析使用AE制作的动画(需要用bodymovin导出为json格式),支持web、ios、android和react native。在web侧,lottie-web库可以解析导出的动画json文件,并将其以svg或者canvas的方式将动画绘制到我们页面中。 交互性非常好,动画支持倍速播放,倒放

  • 前几天airbnb开源了一个动画库lottie,地址是github.com/airbnb/lott… 是一个通过AE制作动画后通过插件bodymoving转换成json文件。在native或者react-native中直接播放动画的一个库。假若用app动画效果这方面需求,可以不用写任何关于动画相关的代码直接加入一个json文件就足够了 ##适用范围 以往动画往往的通过gif或者手写一长串代码才能实

  • 在vue中引入lottie非常非常简单 1.安装vue-lottie包 npm install --save vue-lottie 2.全局引入vue-lottie 在main.js引入并注册全局组件即可 import lottie from 'vue-lottie'; Vue.component('lottie', lottie) 当然也可以局部引入 3.引入你的lottie资源 // 第一步:

 相关资料
  • 每个用户界面都考虑以下三个主要方面 - UI elements - 这些是用户最终看到并与之交互的核心可视元素。 JavaFX提供了大量广泛使用的常用元素列表,从基本到复杂,我们将在本教程中介绍。 Layouts - 它们定义了如何在屏幕上组织UI元素,并为GUI(图形用户界面)提供最终外观。 这部分将在布局章节中介绍。 Behavior - 这些是用户与UI元素交互时发生的事件。 这部分将在“事

  • ui

    继承自 Composite 是所有控件的父级。可通过其访问状态栏、导航栏、抽屉控件和内容视图。 通过 “const {ui} = require('tabris');” 引入该对象。 属性 contentView Type: Composite 内容视图是构成应用主UI的控件的容器。覆盖整个应用界面。可将控件直接添加到内容视图中。 此属性只能在创建控件时设置。一旦设置,不能修改。 drawer T

  • ui

    UI模块管理应用界面,用于操作加载HTML页面的原生窗口,调用系统原生控件等。由于此模块功能太多,现已根据功能分拆更新为Key、NativeUI、Navigator、Webview等,并对接口和功能做了一些优化调整,请使用新API。 方法: alert: 弹出系统提示框 closeSplashscreen: 关闭程序启动界面 closeWindow: 关闭原生窗口 confirm: 弹出系统确认对

  • UI

    对话框 键盘事件

  • UI

    增加了一些新的用户界面特性来调整元素尺寸,框尺寸和外边框。 在本章中,您将了解以下的用户界面属性: resize box-sizing outline-offset 注意:Firefox、Chrome 以及 Safari 支持 resize 属性。 Internet Explorer、Chrome、Safari 以及 Opera 支持 box-sizing 属性。Firefox 需要前缀 -moz

  • ui

    @nativescript-rtl/ui Add right-to-left UI support to NativeScript framework Installation to install plugin write: NativeScript 7 and higher tns plugin add @nativescript-rtl/ui Support NativeScript old

  • English | 中文 一个基于 Weex 的富交互、轻量级、高性能的 UI 组件库 文档 主页 English 搭配 weex-toolkit 使用 Weex Ui 预览 你可以通过飞猪、淘宝、天猫、Weex Playground 或者浏览器扫码体验 安装 npm i weex-ui -S 使用 <template> <div> <wxc-button text="Open Pop

  • 可用UiExport类型的汇总列表: 类型 目的 hacks 应包含在每个应用程序中的任何模块 visTypes 注册提供商的模块ui/registry/vis_types。 fieldFormats 注册提供商的模块ui/registry/field_formats。 spyModes 注册提供商的模块ui/registry/spy_modes。 chromeNavControls 注册提供商的