All notable changes to this project will be documented in the changelog.
The .gif does not do the fluid animations justice
To install execute:
tns plugin add @nativescript-community/ui-lottie
<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>
import { LottieView } from "@nativescript-community/ui-lottie";
public yourLoadedEvent(args) {
this._myLottie = args.object as LottieView; /// this is the instance of the LottieAnimationView
}
<StackLayout>
<LottieView width="100" height="150" [src]="src" [loop]="loop" [autoPlay]="autoPlay" (loaded)="lottieViewLoaded($event)"> </LottieView>
</StackLayout>
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;
}
}
Vue.registerElement(
'LottieView',
() => require('@nativescript-community/ui-lottie').LottieView
);
<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>
sample-effects
folder.
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
.
Place your animations files in your app/App_Resources/iOS/
folder.
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. |
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. |
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. |
bradmartin | NathanWalker | rhanb | HamdiWanis |
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元素交互时发生的事件。 这部分将在“事
继承自 Composite 是所有控件的父级。可通过其访问状态栏、导航栏、抽屉控件和内容视图。 通过 “const {ui} = require('tabris');” 引入该对象。 属性 contentView Type: Composite 内容视图是构成应用主UI的控件的容器。覆盖整个应用界面。可将控件直接添加到内容视图中。 此属性只能在创建控件时设置。一旦设置,不能修改。 drawer T
UI模块管理应用界面,用于操作加载HTML页面的原生窗口,调用系统原生控件等。由于此模块功能太多,现已根据功能分拆更新为Key、NativeUI、Navigator、Webview等,并对接口和功能做了一些优化调整,请使用新API。 方法: alert: 弹出系统提示框 closeSplashscreen: 关闭程序启动界面 closeWindow: 关闭原生窗口 confirm: 弹出系统确认对
对话框 键盘事件
增加了一些新的用户界面特性来调整元素尺寸,框尺寸和外边框。 在本章中,您将了解以下的用户界面属性: resize box-sizing outline-offset 注意:Firefox、Chrome 以及 Safari 支持 resize 属性。 Internet Explorer、Chrome、Safari 以及 Opera 支持 box-sizing 属性。Firefox 需要前缀 -moz
@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 注册提供商的