W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
解釋:僅支持 Lottie 動(dòng)畫的客戶端原生組件,使用時(shí)請(qǐng)注意相關(guān)限制,動(dòng)畫資源地址可到 lottie 的官方庫進(jìn)行查詢。Lottie 使用入門,詳見官方介紹;設(shè)計(jì)師精彩示例及動(dòng)效文件,設(shè)計(jì)社區(qū)。
屬性名 | 類型 | 默認(rèn)值 | 必填 | 說明 | 最低版本 | ||
---|---|---|---|---|---|---|---|
path |
String |
是 |
動(dòng)畫資源地址,目前只支持絕對(duì)路徑 |
- | |||
loop |
Boolean |
false |
否 |
動(dòng)畫是否循環(huán)播放 |
- | ||
autoplay |
Boolean |
true |
否 |
動(dòng)畫是否自動(dòng)播放 |
- | ||
action |
String |
play |
否 |
動(dòng)畫操作,可取值 play、pause、stop |
- | ||
hidden |
Boolean |
true |
否 |
是否隱藏動(dòng)畫 |
- | ||
bindended |
EventHandle |
否 |
當(dāng)播放到末尾時(shí)觸發(fā) ended 事件(自然播放結(jié)束會(huì)觸發(fā)回調(diào),循環(huán)播放結(jié)束及手動(dòng)停止動(dòng)畫不會(huì)觸發(fā)。) |
3.0.0
|
值 | 說明 |
---|---|
play |
播放 |
pause |
暫停 |
stop |
停止 |
代碼示例 1: 動(dòng)畫資源地址在本地,path 為相對(duì)路徑
<view class="wrap">
<view class="card-area">
<animation-view
class="controls"
path="{{path}}"
loop="{{loop}}"
autoplay="{{autoplay}}"
action="{{action}}"
hidden="{{hidden}}"
bindended="lottieEnd">
</animation-view>
<button bindtap="playLottie" type="primary">{{status}}lottie動(dòng)畫</button>
</view>
</view>
Page({
data: {
path: '/anims/lottie_example_one.json',
loop: true,
autoplay: true,
action: 'play',
hidden: false,
status: '暫停'
},
onShow() {
console.log(' 百度APP版本11.3以上才可使用');
},
playLottie() {
// 切換播放狀態(tài)
let action = this.data.action;
action = action === 'pause' ? 'play' : 'pause';
let status = action === 'pause' ? '播放' : '暫停';
this.setData({
action,
status
});
},
lottieEnd() {
console.log('自然播放結(jié)束會(huì)觸發(fā)回調(diào),循環(huán)播放結(jié)束及手動(dòng)停止動(dòng)畫不會(huì)觸發(fā)。');
}
});
代碼示例 2: 動(dòng)畫資源地址在服務(wù)器上存放
此種使用方式建議在真機(jī)查看完整效果,注意 path 屬性僅可在組件初始化時(shí)傳入,不支持用 setData 方法后續(xù)動(dòng)態(tài)傳入。
<view class="wrap">
<view class="card-area">
<view class="animation-view-area">
<animation-view
s-if="{{shouldShow}}"
class="controls"
path="{{path}}"
loop="{{loop}}"
autoplay="{{autoplay}}"
action="{{action}}"
hidden="{{hidden}}"
bindended="lottieEnd">
</animation-view>
</view>
<button bindtap="playLottie" type="primary">{{status}}lottie動(dòng)畫</button>
</view>
</view>
Page({
data: {
path: '',
loop: true,
autoplay: true,
action: 'play',
hidden: false,
status: '暫停',
shouldShow: ''
},
onShow() {
console.log(' 百度APP版本11.3以上才可使用');
swan.downloadFile({
url: 'https://b.bdstatic.com/miniapp/images/lottie_example_one.json',
header: {
'content-type': 'application/json'
},
success: res => {
const filePath = res.tempFilePath;
this.setData({
shouldShow: true,
path: filePath
});
}
});
},
playLottie() {
// 切換播放狀態(tài)
let action = this.data.action;
action = action === 'pause' ? 'play' : 'pause';
let status = action === 'pause' ? '播放' : '暫停';
this.setData({
action,
status
});
},
lottieEnd() {
console.log('自然播放結(jié)束會(huì)觸發(fā)回調(diào),循環(huán)播放結(jié)束及手動(dòng)停止動(dòng)畫不會(huì)觸發(fā)。');
}
});
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: