W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
當(dāng)路由進(jìn)行切換時(shí),可以通過(guò)設(shè)置組件的 sharedTransition 屬性將該元素標(biāo)記為共享元素并設(shè)置對(duì)應(yīng)的共享元素轉(zhuǎn)場(chǎng)動(dòng)效。
從API Version 7開始支持。后續(xù)版本如有新增內(nèi)容,則采用上角標(biāo)單獨(dú)標(biāo)記該內(nèi)容的起始版本。
名稱 | 參數(shù) | 參數(shù)描述 |
---|---|---|
sharedTransition | id: string, { duration?: number, curve?: Curve | string, delay?: number, motionPath?: { path: string, form?: number, to?: number, rotatable?: boolean }, zIndex?: number, type?: SharedTransitionEffectType } | 兩個(gè)頁(yè)面中id值相同且不為空字符串的組件即為共享元素,在頁(yè)面轉(zhuǎn)場(chǎng)時(shí)可顯示共享元素轉(zhuǎn)場(chǎng)動(dòng)效。 - id:設(shè)置組件的id。 - duration:描述共享元素轉(zhuǎn)場(chǎng)動(dòng)效播放時(shí)長(zhǎng)。 默認(rèn)值:1000 單位:毫秒 取值范圍:[0, +∞) - curve:默認(rèn)曲線為L(zhǎng)inear,有效值參見(jiàn)Curve說(shuō)明。 - delay:?jiǎn)挝粸楹撩?,默認(rèn)不延時(shí)播放。 默認(rèn)值:0 單位:毫秒 取值范圍:[0, +∞) 設(shè)置小于0的值時(shí),按值為0處理。 - motionPath:運(yùn)動(dòng)路徑信息,詳細(xì)說(shuō)明請(qǐng)參考路徑動(dòng)畫。 - path:設(shè)置路徑。 - from:設(shè)置起始值。 - to:設(shè)置終止值。 - rotatable:是否旋轉(zhuǎn)。 默認(rèn)值:false - zIndex:設(shè)置Z軸。 默認(rèn)值:0 - type:動(dòng)畫類型。 默認(rèn)值:SharedTransitionEffectType.Exchange |
type為SharedTransitionEffectType.Exchange時(shí)motionPath才會(huì)生效。
示例代碼為點(diǎn)擊圖片跳轉(zhuǎn)頁(yè)面時(shí),顯示共享元素圖片的自定義轉(zhuǎn)場(chǎng)動(dòng)效。
- // xxx.ets
- @Entry
- @Component
- struct SharedTransitionExample {
- @State active: boolean = false
- build() {
- Column() {
- Navigator({ target: 'pages/PageB', type: NavigationType.Push }) {
- Image($r('app.media.ic_health_heart')).width(50).height(50)
- .sharedTransition('sharedImage', { duration: 800, curve: Curve.Linear, delay: 100 })
- }.padding({ left: 20, top: 20 })
- .onClick(() => {
- this.active = true
- })
- }
- }
- }
- // PageB.ets
- @Entry
- @Component
- struct pageBExample {
- build() {
- Stack() {
- Image($r('app.media.ic_health_heart')).width(150).height(150)
- .sharedTransition('sharedImage', { duration: 800, curve: Curve.Linear, delay: 100 })
- }.width('100%').height('100%')
- }
- }
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)系方式:
更多建議: