提交 cddf036e 编写于 作者: 杜庆泉's avatar 杜庆泉

Update uts-component.md

上级 b59c50d1
...@@ -1245,8 +1245,9 @@ iOS 平台需要将三方依赖库放到 组件目录下 app-ios/Frameworks 中 ...@@ -1245,8 +1245,9 @@ iOS 平台需要将三方依赖库放到 组件目录下 app-ios/Frameworks 中
> Android > Android
```ts ```ts
<template> <template>
<view> <view class="defaultStyles">
</view> </view>
</template> </template>
...@@ -1257,7 +1258,6 @@ iOS 平台需要将三方依赖库放到 组件目录下 app-ios/Frameworks 中 ...@@ -1257,7 +1258,6 @@ iOS 平台需要将三方依赖库放到 组件目录下 app-ios/Frameworks 中
import LottieAnimationView from 'com.airbnb.lottie.LottieAnimationView' import LottieAnimationView from 'com.airbnb.lottie.LottieAnimationView'
import LottieDrawable from 'com.airbnb.lottie.LottieDrawable' import LottieDrawable from 'com.airbnb.lottie.LottieDrawable'
import FileInputStream from 'java.io.FileInputStream' import FileInputStream from 'java.io.FileInputStream'
import { UTSAndroid } from "io.dcloud.uts";
class CustomAnimListener extends Animator.AnimatorListener { class CustomAnimListener extends Animator.AnimatorListener {
...@@ -1267,20 +1267,20 @@ iOS 平台需要将三方依赖库放到 组件目录下 app-ios/Frameworks 中 ...@@ -1267,20 +1267,20 @@ iOS 平台需要将三方依赖库放到 组件目录下 app-ios/Frameworks 中
this.comp = com this.comp = com
} }
override onAnimationStart(animation: Animator | null) {} override onAnimationStart(animation: Animator) {}
override onAnimationEnd(animation: Animator | null, isReverse: Boolean) { override onAnimationEnd(animation: Animator, isReverse: Boolean) {
this.comp.$emit("bindended") this.comp.$emit("bindended")
} }
override onAnimationEnd(animation: Animator | null) {} override onAnimationEnd(animation: Animator) {}
override onAnimationCancel(animation: Animator | null) {} override onAnimationCancel(animation: Animator) {}
override onAnimationRepeat(animation: Animator | null) {} override onAnimationRepeat(animation: Animator) {}
} }
//原生提供以下属性或方法的实现 //原生提供以下属性或方法的实现
export default { export default {
name: "uts-animation-view", name: "uts-animation-view",
/** /**
...@@ -1296,14 +1296,14 @@ iOS 平台需要将三方依赖库放到 组件目录下 app-ios/Frameworks 中 ...@@ -1296,14 +1296,14 @@ iOS 平台需要将三方依赖库放到 组件目录下 app-ios/Frameworks 中
default: "" default: ""
}, },
/** /**
* 动画是否循环播放 * 动画是否自动播放
*/ */
"autoplay": { "autoplay": {
type: Boolean, type: Boolean,
default: false default: false
}, },
/** /**
* 动画是否自动播放 * 动画是否循环播放
*/ */
"loop": { "loop": {
type: Boolean, type: Boolean,
...@@ -1334,18 +1334,20 @@ iOS 平台需要将三方依赖库放到 组件目录下 app-ios/Frameworks 中 ...@@ -1334,18 +1334,20 @@ iOS 平台需要将三方依赖库放到 组件目录下 app-ios/Frameworks 中
"path": { "path": {
handler(newPath: string) { handler(newPath: string) {
if(this.$el != null){ if(this.$el != null){
let lottieAnimationView = this.$el! let lottieAnimationView = this.$el!
if (!TextUtils.isEmpty(newPath)) { if (!TextUtils.isEmpty(newPath)) {
if (newPath.startsWith("http://") || newPath.startsWith("https://")) { if (newPath.startsWith("http://") || newPath.startsWith("https://")) {
lottieAnimationView.setAnimationFromUrl(newPath) lottieAnimationView.setAnimationFromUrl(newPath)
} else { } else {
// 默认是static了 // 正式打包会放在asset中,需要特殊处理
var realJsonPath = UTSAndroid.getResourcePath(newPath) let realJsonPath = UTSAndroid.getResourcePath(newPath)
lottieAnimationView.setAnimation(new FileInputStream(realJsonPath),newPath) if(realJsonPath.startsWith("/android_asset")){
lottieAnimationView.setAnimation(realJsonPath.substring(15))
}else{
lottieAnimationView.setAnimation(new FileInputStream(realJsonPath),newPath)
}
} }
} }
if (this.autoplay) { if (this.autoplay) {
...@@ -1353,7 +1355,7 @@ iOS 平台需要将三方依赖库放到 组件目录下 app-ios/Frameworks 中 ...@@ -1353,7 +1355,7 @@ iOS 平台需要将三方依赖库放到 组件目录下 app-ios/Frameworks 中
} }
} }
}, },
immediate: false //创建时是否通过此方法更新属性,默认值为false immediate: false
}, },
"loop": { "loop": {
handler(newLoop: Boolean) { handler(newLoop: Boolean) {
...@@ -1364,14 +1366,14 @@ iOS 平台需要将三方依赖库放到 组件目录下 app-ios/Frameworks 中 ...@@ -1364,14 +1366,14 @@ iOS 平台需要将三方依赖库放到 组件目录下 app-ios/Frameworks 中
// 不循环则设置成1次 // 不循环则设置成1次
this.$el!.repeatCount = 0 this.$el!.repeatCount = 0
} }
if (this.autoplay) { if (this.autoplay) {
this.$el!.playAnimation() this.$el!.playAnimation()
} }
} }
}, },
immediate: false //创建时是否通过此方法更新属性,默认值为false immediate: false
}, },
"autoplay": { "autoplay": {
...@@ -1381,9 +1383,9 @@ iOS 平台需要将三方依赖库放到 组件目录下 app-ios/Frameworks 中 ...@@ -1381,9 +1383,9 @@ iOS 平台需要将三方依赖库放到 组件目录下 app-ios/Frameworks 中
this.$el!.playAnimation() this.$el!.playAnimation()
} }
} }
}, },
immediate: false //创建时是否通过此方法更新属性,默认值为false immediate: false
}, },
"action": { "action": {
...@@ -1402,12 +1404,11 @@ iOS 平台需要将三方依赖库放到 组件目录下 app-ios/Frameworks 中 ...@@ -1402,12 +1404,11 @@ iOS 平台需要将三方依赖库放到 组件目录下 app-ios/Frameworks 中
} }
} }
} else { } else {
// 非法入参,不管 // 非法入参,不管
} }
}, },
immediate: false //创建时是否通过此方法更新属性,默认值为false immediate: false
}, },
"hidden": { "hidden": {
...@@ -1420,7 +1421,7 @@ iOS 平台需要将三方依赖库放到 组件目录下 app-ios/Frameworks 中 ...@@ -1420,7 +1421,7 @@ iOS 平台需要将三方依赖库放到 组件目录下 app-ios/Frameworks 中
} }
} }
}, },
immediate: false //创建时是否通过此方法更新属性,默认值为false immediate: false
}, },
}, },
...@@ -1434,49 +1435,33 @@ iOS 平台需要将三方依赖库放到 组件目录下 app-ios/Frameworks 中 ...@@ -1434,49 +1435,33 @@ iOS 平台需要将三方依赖库放到 组件目录下 app-ios/Frameworks 中
} }
} }
}, },
privateMethod() { //如何定义不对外暴露的API? 暂不支持,需在export外写
}
}, },
created() { //创建组件,替换created
NVLoad(): LottieAnimationView {
},
NVBeforeLoad() { //组件将要创建,对应前端beforeMount
//可选实现,这里可以提前做一些操作
},
NVLoad(): LottieAnimationView { //创建原生View,必须定义返回值类型(Android需要明确知道View类型,需特殊校验)
//必须实现
let lottieAnimationView = new LottieAnimationView($androidContext) let lottieAnimationView = new LottieAnimationView($androidContext)
return lottieAnimationView return lottieAnimationView
}, },
NVLoaded() { //原生View已创建 NVLoaded() {
//可选实现,这里可以做后续操作
if(this.$el != null){ if(this.$el != null){
this.$el!.repeatMode = LottieDrawable.RESTART; this.$el!.repeatMode = LottieDrawable.RESTART;
this.$el!.visibility = View.GONE this.$el!.visibility = View.GONE
this.$el!.repeatCount = 0 this.$el!.repeatCount = 0
this.$el!.addAnimatorListener(new CustomAnimListener(this)) this.$el!.addAnimatorListener(new CustomAnimListener(this))
} }
},
NVLayouted() { //原生View布局完成
//可选实现,这里可以做布局后续操作
},
NVBeforeUnload() { //原生View将释放
//可选实现,这里可以做释放View之前的操作
},
NVUnloaded() { //原生View已释放
//可选实现,这里可以做释放View之后的操作
},
unmounted() { //组件销毁
//可选实现
} }
} }
</script> </script>
<style> <style>
/* 定义默认样式值, 组件使用者没有配置时使用 */
.defaultStyles {
width: 750rpx;
height: 240rpx;
}
</style> </style>
``` ```
> iOS > iOS
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册