HarmonyOS鸿蒙Next中Navigation如何使用半模态

HarmonyOS鸿蒙Next中Navigation如何使用半模态 最近应用在使用Navigation进行导航,但在应用显示时候,发现会弹出4个框,造成该情况的原因是什么?该如果解决呢?

cke_2144.png

问题现象展示

cke_13490.png

源码


更多关于HarmonyOS鸿蒙Next中Navigation如何使用半模态的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

在HarmonyOS鸿蒙Next中,Navigation组件支持半模态(Partial Modal)的使用。半模态是一种介于全屏模态和普通页面之间的交互方式,通常用于显示轻量级的临时内容,如提示、确认框等。

要使用半模态,可以在Navigation组件中通过NavDestinationpartialModal属性进行配置。具体步骤如下:

  1. NavGraph中定义NavDestination,并设置partialModaltrue
  2. NavController中通过navigate方法导航到该目标页面。

示例代码片段如下:

val navController = rememberNavController()
NavHost(navController, startDestination = "main") {
    composable("main") {
        MainScreen(navController)
    }
    composable("partialModal", partialModal = true) {
        PartialModalScreen()
    }
}

// 在MainScreen中导航到半模态页面
Button(onClick = { navController.navigate("partialModal") }) {
    Text("Show Partial Modal")
}

在上述代码中,PartialModalScreen将以半模态的形式显示。半模态页面通常从屏幕底部弹出,覆盖部分主界面内容,用户可以通过滑动或点击外部区域关闭半模态页面。

半模态的设计有助于保持用户对主界面的上下文感知,同时提供必要的交互功能。通过合理使用半模态,可以提升应用的交互体验。

更多关于HarmonyOS鸿蒙Next中Navigation如何使用半模态的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,Navigation组件支持半模态展示。可以通过Navigationpresent方法实现半模态效果,设置presentationModeHalfModal。代码示例如下:

import { Navigation, HalfModalPresentationMode } from '@ohos.navigation';

Navigation.present({
  url: 'pages/YourPage',
  presentationMode: HalfModalPresentationMode
});

此配置将使页面以半模态形式展示,适合需要部分覆盖当前页面的场景。

回到顶部