W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
組件的某些通用屬性變化時,可以通過屬性動畫實現(xiàn)漸變過渡效果,提升用戶體驗。支持的屬性包括width、height、backgroundColor、opacity、scale、rotate、translate等。
從API Version 7開始支持。后續(xù)版本如有新增內(nèi)容,則采用上角標單獨標記該內(nèi)容的起始版本。
animation(value: {duration?: number, tempo?: number, curve?: string | Curve | ICurve, delay?:number, iterations: number, playMode?: PlayMode, onFinish?: () => void})
從API version 9開始,該接口支持在ArkTS卡片中使用。
參數(shù):
名稱 | 參數(shù)類型 | 必填 | 描述 |
---|---|---|---|
duration | number | 否 | 設置動畫時長。 默認值:1000 單位:毫秒 從API version 9開始,該接口支持在ArkTS卡片中使用。 說明: - 在ArkTS卡片上最大動畫持續(xù)時間為1000毫秒。 - 設置浮點型類型的值時,向下取整;設置值為1.2,按照1處理。 |
tempo | number | 否 | 動畫播放速度。數(shù)值越大,動畫播放速度越快,數(shù)值越小,播放速度越慢。值為0時,表示不存在動畫。 默認值:1 |
curve | 否 | 設置動畫曲線。 默認值:Curve.EaseInOut 從API version 9開始,該接口支持在ArkTS卡片中使用。 | |
delay | number | 否 | 設置動畫延遲執(zhí)行的時長。 默認值:0,不延遲播放。 單位:毫秒 取值范圍:[0, +∞) 說明: 設置浮點型類型的值時,向下取整。例如,設置值為1.2,按照1處理。 |
iterations | number | 否 | 設置播放次數(shù)。 默認值:1 取值范圍:[-1, +∞) 說明: 設置為-1時表示無限次播放。設置為0時表示無動畫效果。 |
playMode | 否 | 設置動畫播放模式,默認播放完成后重頭開始播放。 默認值:PlayMode.Normal 從API version 9開始,該接口支持在ArkTS卡片中使用。 | |
onFinish | () => void | 否 | 狀態(tài)回調(diào),動畫播放完成時觸發(fā)。 從API version 9開始,該接口支持在ArkTS卡片中使用。 說明: 當iterations設置為-1時,動畫效果無限循環(huán)不會停止,所以不會觸發(fā)此回調(diào)。 |
- // xxx.ets
- @Entry
- @Component
- struct AttrAnimationExample {
- @State widthSize: number = 250
- @State heightSize: number = 100
- @State rotateAngle: number = 0
- @State flag: boolean = true
- build() {
- Column() {
- Button('change size')
- .onClick(() => {
- if (this.flag) {
- this.widthSize = 150
- this.heightSize = 60
- } else {
- this.widthSize = 250
- this.heightSize = 100
- }
- this.flag = !this.flag
- })
- .margin(30)
- .width(this.widthSize)
- .height(this.heightSize)
- .animation({
- duration: 2000,
- curve: Curve.EaseOut,
- iterations: 3,
- playMode: PlayMode.Normal
- })
- Button('change rotate angle')
- .onClick(() => {
- this.rotateAngle = 90
- })
- .margin(50)
- .rotate({ angle: this.rotateAngle })
- .animation({
- duration: 1200,
- curve: Curve.Friction,
- delay: 500,
- iterations: -1, // 設置-1表示動畫無限循環(huán)
- playMode: PlayMode.Alternate
- })
- }.width('100%').margin({ top: 20 })
- }
- }
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: