HarmonyOS 横向的菜单怎么实现

Menu是垂直菜单没有发现横向的菜单如何实现?

HarmonyOS 横向的菜单怎么实现 -鸿蒙开发者社区

HarmonyOS
2025-01-09 16:14:07
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect

当前menu组件只支持垂直排列,规格如此。可以使用popup来替代实现,参考示例如下:

import { promptAction } from '@kit.ArkUI';

@Entry
@Component
struct Index {
  @State message: string = 'Hello World';
  @State handlePopup: boolean = false
  @State customPopup: boolean = false
  // popup构造器定义弹框内容
  @Builder
  popupBuilder() {
    Row({ space: 2 }) {
      Text('删除')
        .fontColor(Color.White)
        .onClick(() => {
          promptAction.showToast({ message: `执行删除操作` })
        })
      Divider().vertical(true).width(1).color(Color.White)
      Text('转发').fontColor(Color.White)
      Divider().vertical(true).width(1).color(Color.White)
      Text('收藏').fontColor(Color.White)
      Divider().vertical(true).width(1).color(Color.White)
      Text('引用').fontColor(Color.White)
    }.height(50).padding(5).backgroundColor(Color.Black)
  }

  build() {
    Column() {
      Button('CustomPopupOptions')
        .onClick(() => {
          this.customPopup = !this.customPopup
        })
        .bindPopup(this.customPopup, {
          builder: this.popupBuilder,
          placement: Placement.Top,
          mask: { color: '#33000000' },
          popupColor: Color.Black,
          enableArrow: true,
          showInSubWindow: false,
          backgroundBlurStyle: BlurStyle.NONE,
          onStateChange: (e) => {
            if (!e.isVisible) {
              this.customPopup = false
            }
          }
        })
        .position({ x: 80, y: 300 })
    }.width('100%').padding({ top: 5 })
  }
}
分享
微博
QQ
微信
回复
2025-01-09 18:58:39
相关问题
HarmonyOS 横向悬浮窗
378浏览 • 1回复 待解决
HarmonyOS Grid横向滑动
804浏览 • 1回复 待解决
HarmonyOS 菜单样式如何修改
286浏览 • 1回复 待解决
HarmonyOS 自动横向滚动List
417浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何实现菜单显示?
305浏览 • 1回复 待解决
如何实现一个下拉菜单
1062浏览 • 1回复 待解决
绑定菜单后无法使用右键触发菜单
2043浏览 • 1回复 待解决
HarmonyOS image图片纵向横向滑动
237浏览 • 1回复 待解决
HarmonyOS 横向Scroll定位到最右侧
206浏览 • 1回复 待解决
List列表组件如何改为横向显示
1334浏览 • 1回复 待解决
HarmonyOS Tabs和横向Scroll滑动冲突
409浏览 • 1回复 待解决