页面导航如何实现两个页面叠层

页面导航如何实现两个页面叠层

HarmonyOS
2024-01-31 09:34:19
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
ilikevc

参考代码

// 页面一实现: 
import window from '@ohos.window'; 
 
@Entry 
@Component 
struct Page2 { 
  @State message: string = 'page Page2'; 
 
  onPageHide() { 
    console.log('pageHide') 
  } 
 
  build() { 
    Row() { 
      Column() { 
        Text(this.message) 
          .fontSize(50) 
          .fontWeight(FontWeight.Bold) 
        Button('pageB').onClick(() => { 
          let windowStege: window.WindowStage = AppStorage.get('windowStage') as window.WindowStage; 
          windowStege.createSubWindow('hello', (err, win) => { 
            // 加载页面 
            win.setUIContent('pages/Index'); 
            // 显示页面 
            win.showWindow(); 
          }) 
        }) 
      } 
      .width('100%') 
    } 
    .height('100%') 
    .backgroundColor(Color.Pink) 
  } 
} 
 
// 页面二(上述示例中的index) 
 
aboutToAppear() { 
  // 页面加载的时候将子窗口透明 
  window.findWindow('hello').setWindowBackgroundColor("#00000000") 
} 
 
onBackPress() { 
  // 返回关闭子窗口 
  window.findWindow('hello').destroyWindow().then((res) => { 
    console.log('destroyWindow success') 
  }).catch(() => { 
    console.log('destroyWindow fail') 
  }) 
  return true 
}

AppStorage.setAndLink(“windowStage”, windowStage)。

在UIAbility里面需要传入windowStage。

分享
微博
QQ
微信
回复
2024-02-01 17:11:58
提问
该提问已有0人参与 ,帮助了0人