Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
unidocs-uni-app-x-zh
提交
cddf036e
U
unidocs-uni-app-x-zh
项目概览
DCloud
/
unidocs-uni-app-x-zh
通知
144
Star
2
Fork
33
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
9
列表
看板
标记
里程碑
合并请求
11
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
unidocs-uni-app-x-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
9
Issue
9
列表
看板
标记
里程碑
合并请求
11
合并请求
11
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
cddf036e
编写于
5月 24, 2024
作者:
杜庆泉
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update uts-component.md
上级
b59c50d1
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
37 addition
and
52 deletion
+37
-52
docs/plugin/uts-component.md
docs/plugin/uts-component.md
+37
-52
未找到文件。
docs/plugin/uts-component.md
浏览文件 @
cddf036e
...
@@ -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
:
750
rpx
;
height
:
240
rpx
;
}
<
/style
>
<
/style
>
```
```
> iOS
> iOS
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录