在 HarmonyOS Next 中,Navigation 组件主要用于实现页面之间的导航管理。它可以帮助开发者构建清晰的页面导航结构,方便用户在不同页面之间进行切换。Navigation 组件可以定义不同的页面路由,通过指定页面的名称和参数来进行页面跳转。例如,可以使用 Navigation.findNavController () 方法获取导航控制器,然后调用 navigate () 方法进行页面跳转。以下是一个简单的示例代码:import ohos.aafwk.ability.AbilitySlice; import ohos.agp.components.Component; import ohos.agp.navigation.NavigationBarComponent; import ohos.agp.navigation.NavigationBarItem; import ohos.agp.navigation.NavigationBarViewModel; import ohos.agp.navigation.NavigationBarViewModel.NavigationItemType; import ohos.agp.navigation.NavigationItemClick; import ohos.agp.navigation.NavigationItemInfo; import ohos.agp.navigation.NavigationItemProvider; public class MyAbilitySlice extends AbilitySlice { @Override public void onStart(Intent intent) { super.onStart(intent); super.setUIContent(ResourceTable.Layout_ability_slice_layout); // 设置导航栏 NavigationBarComponent navigationBar = findComponentById(ResourceTable.Id_navigation_bar); NavigationBarViewModel viewModel = new NavigationBarViewModel(); viewModel.setNavigationItemProvider(new NavigationItemProvider() { @Override public NavigationItemInfo getNavigationItemInfo(NavigationItemType type) { if (type == NavigationItemType.BUTTON_LEFT) { return new NavigationItemInfo.Builder() .setIcon(ResourceTable.Media_back_icon) .setTitle("返回") .build(); } return null; } }); navigationBar.setViewModel(viewModel); navigationBar.setItemClick(new NavigationItemClick() { @Override public void onItemClick(Component component, int index) { if (index == NavigationBarItem.BUTTON_LEFT_INDEX) { terminate(); } } }); // 导航到另一个页面 Component button = findComponentById(ResourceTable.Id_navigate_button); button.setClickedListener(component -> { Navigation.findNavController(getAbility()).navigate(ResourceTable.Id_another_ability_slice); }); } }本文参与了 【 HarmonyOS NEXT 技术问答冲榜,等你来战!】欢迎正在阅读的你也加入。
在 HarmonyOS Next 中,Navigation 组件主要用于实现页面之间的导航管理。它可以帮助开发者构建清晰的页面导航结构,方便用户在不同页面之间进行切换。Navigation 组件可以定义不同的页面路由,通过指定页面的名称和参数来进行页面跳转。例如,可以使用 Navigation.findNavController () 方法获取导航控制器,然后调用 navigate () 方法进行页面跳转。以下是一个简单的示例代码:
本文参与了 【 HarmonyOS NEXT 技术问答冲榜,等你来战!】欢迎正在阅读的你也加入。