NavigationBar.ets 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import router from '@ohos.router';
  2. @Component
  3. export struct NavigationBar {
  4. @Prop notificationNumber: number = 0;
  5. build() {
  6. Row() {
  7. // 带数字标记的通知图标
  8. Image($r('app.media.navigation_statistics'))
  9. .width($r('app.float.virtualSize_23'))
  10. .height($r('app.float.virtualSize_23'))
  11. .fillColor($r('app.color.FFFFFF'))
  12. Badge({
  13. count: this.notificationNumber, // 动态传入的通知数量
  14. position: BadgePosition.RightTop, // 右上角显示
  15. style: {
  16. badgeColor: $r('app.color.FF453A'), // 红色背景(与图片一致)
  17. badgeSize: 20, // 圆形大小
  18. }
  19. }) {
  20. Image($r('app.media.navigation_notifications')) // 通知图标
  21. .width($r('app.float.virtualSize_23'))
  22. .height($r('app.float.virtualSize_23'))
  23. .fillColor($r('app.color.FFFFFF'))
  24. }
  25. Image($r('app.media.navigation_logs'))
  26. .width($r('app.float.virtualSize_23'))
  27. .height($r('app.float.virtualSize_23'))
  28. .fillColor($r('app.color.FFFFFF'))
  29. Image($r('app.media.navigation_rgv_control'))
  30. .width($r('app.float.virtualSize_23'))
  31. .height($r('app.float.virtualSize_23'))
  32. .fillColor($r('app.color.FFFFFF'))
  33. .onClick(()=>{
  34. router.pushUrl({
  35. url: 'pages/RgvControl'
  36. })
  37. })
  38. }
  39. .height('100%')
  40. .width('100%')
  41. .justifyContent(FlexAlign.SpaceEvenly)
  42. .alignItems(VerticalAlign.Bottom)
  43. }
  44. }