当前位置:   article > 正文

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之NavRouter组件

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之NavRouter组件

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之NavRouter组件

一、操作环境

操作系统:  Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1+

二、NavRouter组件

导航组件,默认提供点击响应处理,不需要开发者自定义点击事件逻辑。

子组件

必须包含两个子组件,其中第二个子组件必须为NavDestination

接口

NavRouter()

事件

名称

功能描述

onStateChange(callback: (isActivated: boolean) => void)

组件激活状态切换时触发该回调。返回值isActivated为true时表示激活,为false时表示未激活。

说明:

开发者点击激活NavRouter,加载对应的NavDestination子组件时,回调onStateChange(true)。NavRouter对应的NavDestination子组件不再显示时,回调onStateChange(false)。

三、示例

代码
  1. // xxx.ets
  2. @Entry
  3. @Component
  4. struct NavRouterExample {
  5. @State isActiveWLAN: boolean = false
  6. @State isActiveBluetooth: boolean = false
  7. build() {
  8. Column() {
  9. Navigation() {
  10. NavRouter() {
  11. Row() {
  12. Row().width(30).height(30).borderRadius(30).margin({ left: 3, right: 10 }).backgroundColor(Color.Pink)
  13. Text(`WLAN`)
  14. .fontSize(22)
  15. .fontWeight(500)
  16. .textAlign(TextAlign.Center)
  17. }
  18. .width('90%')
  19. .height(72)
  20. NavDestination() {
  21. Flex({ direction: FlexDirection.Row }) {
  22. Text('未找到可用WLAN').fontSize(30).padding({ left: 15 })
  23. }
  24. }.hideTitleBar(false).backgroundColor('#0c182431')
  25. }.backgroundColor(this.isActiveWLAN ? '#ccc' : '#fff')
  26. .borderRadius(24)
  27. .onStateChange((isActivated: boolean) => {
  28. this.isActiveWLAN = isActivated
  29. })
  30. NavRouter() {
  31. Row() {
  32. Row().width(30).height(30).borderRadius(30).margin({ left: 3, right: 10 }).backgroundColor(Color.Pink)
  33. Text(`蓝牙`)
  34. .fontSize(22)
  35. .fontWeight(500)
  36. .textAlign(TextAlign.Center)
  37. }
  38. .width('90%')
  39. .height(72)
  40. NavDestination() {
  41. Flex({ direction: FlexDirection.Row }) {
  42. Text('未找到可用蓝牙').fontSize(30).padding({ left: 15 })
  43. }
  44. }.hideTitleBar(false).backgroundColor('#0c182431')
  45. }.backgroundColor(this.isActiveBluetooth ? '#ccc' : '#fff')
  46. .borderRadius(24)
  47. .onStateChange((isActivated: boolean) => {
  48. this.isActiveBluetooth = isActivated
  49. })
  50. }
  51. .title('设置')
  52. .titleMode(NavigationTitleMode.Free)
  53. .mode(NavigationMode.Auto)
  54. .hideTitleBar(false)
  55. .hideToolBar(true)
  56. }.height('100%')
  57. }
  58. }
图例

你有时间常去我家看看我在这里谢谢你啦...

我家地址:亚丁号

最后送大家一首诗:

山高路远坑深,
大军纵横驰奔,

谁敢横刀立马?
惟有点赞加关注大军。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/117715
推荐阅读
相关标签
  

闽ICP备14008679号