HarmonyOS 系统返回功能怎么让上一个页面的状态栏清除状态

现在就是一个页面,状态栏是全屏的,没有设置statusToHeight, push到新页面, 新页面有自己的状态栏,设置了statusToHeight,新页面操作完成返回到上一个页面,但是依然保留了状态栏的高度和状态,而且生命周期也没走

HarmonyOS
2024-12-24 18:30:27
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
FengTianYa

将生命周期换成onPageShow,参考demo如下:

第一个页面

import { router } from '@kit.ArkUI'
import { window } from '@kit.ArkUI';
import { common } from '@kit.AbilityKit';

@Entry
@Component
struct Index {
  onPageShow(): void {
    try {
      let context = getContext(this) as common.UIAbilityContext;
      window.getLastWindow(context).then((lastWindow) => {
        lastWindow.setWindowLayoutFullScreen(true)
      });
    } catch (exception) {
      console.error(fail: ${JSON.stringify(exception)});
    }
  }
  onPageHide(): void {
    try {
      let context = getContext(this) as common.UIAbilityContext;
      window.getLastWindow(context).then((lastWindow) => {
        lastWindow.setWindowLayoutFullScreen(false)
      });
    } catch (exception) {
      console.error(fail: ${JSON.stringify(exception)});
    }
  }
  build() {
    Column() {
      Text('第一个页面')
        .width('100%')
        .height(50)
        .backgroundColor(Color.Red)
      Text('Push')
        .textAlign(TextAlign.Center)
        .width(80)
        .height(60)
        .fontColor(Color.White)
        .backgroundColor(Color.Blue)
        .onClick(() => {
          router.pushUrl({
            url: 'pages/TestPage',
          })
        })
    }
    .backgroundColor(Color.Gray)
    .width('100%')
    .height('100%')
  }
}

第二个页面

import { router } from '@kit.ArkUI'

@Entry
@Component
struct TestPage {
  build() {
    Column() {
      Image($r('sys.media.ohos_ic_back'))
        .width(50)
        .height(40)
        .onClick(()=>{
          router.back()
        })
      Text('第二个页面')
        .width('100%')
        .height(50)
        .backgroundColor(Color.Red)
    }
    .width('100%')
    .height('100%')
  }
}
分享
微博
QQ
微信
回复
2024-12-24 20:18:31
相关问题
HarmonyOS 如何组件超到状态栏
327浏览 • 1回复 待解决
HarmonyOS 状态栏怎么设置颜色
307浏览 • 1回复 待解决
HarmonyOS 如何获取系统状态栏高度?
956浏览 • 1回复 待解决
HarmonyOS 如何指定页面占用状态栏
87浏览 • 1回复 待解决
怎么返回上一个ets 文件?
291浏览 • 1回复 待解决
沉侵式状态栏获取状态栏高度为0
545浏览 • 1回复 待解决
鸿蒙怎么 修改状态栏字体颜色
12731浏览 • 1回复 待解决
状态栏的高度怎么获取呢
9767浏览 • 3回复 待解决
如何获取系统导航状态栏的高度
1063浏览 • 1回复 待解决
HarmonyOS 如何控制状态栏
234浏览 • 1回复 待解决
HarmonyOS 沉浸式状态栏
235浏览 • 1回复 待解决
HarmonyOS 如何隐藏状态栏
46浏览 • 1回复 待解决
HarmonyOS 获取状态栏高度
229浏览 • 1回复 待解决