W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
提供全局animateTo顯式動(dòng)畫(huà)接口來(lái)指定由于閉包代碼導(dǎo)致的狀態(tài)變化插入過(guò)渡動(dòng)效。
從API Version 7開(kāi)始支持。后續(xù)版本如有新增內(nèi)容,則采用上角標(biāo)單獨(dú)標(biāo)記該內(nèi)容的起始版本。
animateTo(value: AnimateParam, event: () => void): void
從API version 9開(kāi)始,該接口支持在ArkTS卡片中使用。
參數(shù) | 類(lèi)型 | 是否必填 | 描述 |
---|---|---|---|
value | 是 | 設(shè)置動(dòng)畫(huà)效果相關(guān)參數(shù)。 | |
event | () => void | 是 | 指定顯示動(dòng)效的閉包函數(shù),在閉包函數(shù)中導(dǎo)致的狀態(tài)變化系統(tǒng)會(huì)自動(dòng)插入過(guò)渡動(dòng)畫(huà)。 |
名稱(chēng) | 類(lèi)型 | 描述 |
---|---|---|
duration | number | 動(dòng)畫(huà)持續(xù)時(shí)間,單位為毫秒。 默認(rèn)值:1000 從API version 9開(kāi)始,該接口支持在ArkTS卡片中使用。 說(shuō)明: - 在ArkTS卡片上最大動(dòng)畫(huà)持續(xù)時(shí)間為1000毫秒,若超出則固定為1000毫秒。 - 設(shè)置浮點(diǎn)型類(lèi)型的值時(shí),向下取整。例如,設(shè)置值為1.2,按照1處理。 |
tempo | number | 動(dòng)畫(huà)的播放速度,值越大動(dòng)畫(huà)播放越快,值越小播放越慢,為0時(shí)無(wú)動(dòng)畫(huà)效果。 默認(rèn)值:1.0 |
curve | 動(dòng)畫(huà)曲線。 默認(rèn)值:Curve.EaseInOut 從API version 9開(kāi)始,該接口支持在ArkTS卡片中使用。 | |
delay | number | 單位為ms(毫秒),默認(rèn)不延時(shí)播放。 默認(rèn)值:0 說(shuō)明: - 設(shè)置浮點(diǎn)型類(lèi)型的值時(shí),向下取整。例如,設(shè)置值為1.2,按照1處理。 |
iterations | number | 默認(rèn)播放一次,設(shè)置為-1時(shí)表示無(wú)限次播放。 默認(rèn)值:1 |
playMode | 設(shè)置動(dòng)畫(huà)播放模式,默認(rèn)播放完成后重頭開(kāi)始播放。 默認(rèn)值:PlayMode.Normal 從API version 9開(kāi)始,該接口支持在ArkTS卡片中使用。 相關(guān)使用約束請(qǐng)參考PlayMode說(shuō)明。 | |
onFinish | () => void | 動(dòng)效播放完成回調(diào)。 從API version 9開(kāi)始,該接口支持在ArkTS卡片中使用。 |
- // xxx.ets
- @Entry
- @Component
- struct AnimateToExample {
- @State widthSize: number = 250
- @State heightSize: number = 100
- @State rotateAngle: number = 0
- private flag: boolean = true
- build() {
- Column() {
- Button('change size')
- .width(this.widthSize)
- .height(this.heightSize)
- .margin(30)
- .onClick(() => {
- if (this.flag) {
- animateTo({
- duration: 2000,
- curve: Curve.EaseOut,
- iterations: 3,
- playMode: PlayMode.Normal,
- onFinish: () => {
- console.info('play end')
- }
- }, () => {
- this.widthSize = 150
- this.heightSize = 60
- })
- } else {
- animateTo({}, () => {
- this.widthSize = 250
- this.heightSize = 100
- })
- }
- this.flag = !this.flag
- })
- Button('change rotate angle')
- .margin(50)
- .rotate({ x: 0, y: 0, z: 1, angle: this.rotateAngle })
- .onClick(() => {
- animateTo({
- duration: 1200,
- curve: Curve.Friction,
- delay: 500,
- iterations: -1, // 設(shè)置-1表示動(dòng)畫(huà)無(wú)限循環(huán)
- playMode: PlayMode.Alternate,
- onFinish: () => {
- console.info('play end')
- }
- }, () => {
- this.rotateAngle = 90
- })
- })
- }.width('100%').margin({ top: 5 })
- }
- }
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)系方式:
更多建議: