openharmony 鸿蒙 ts-universal-attributes-menu-sys

2026-08-25 浏览 (1)

菜单控制(系统接口)

为组件绑定弹出式菜单,支持长按、点击或鼠标右键来触发菜单的弹出,菜单项以垂直列表形式显示。

说明:

  • 该组件从API version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。

  • 本文仅介绍当前模块的系统接口,其他公开接口参见菜单控制

ContextMenuOptions10+

菜单项的信息。

系统能力: SystemCapability.ArkUI.ArkUI.Full

名称类型只读可选说明
systemMaterial23+SystemUiMaterial设置菜单的系统材质。不同系统材质对应不同的属性影响效果,该接口影响背景色backgroundColor、边框颜色borderColor、边框宽度borderWidth、阴影shadow,不建议与上述接口一起使用。材质设置为非法值、undefined时,按照不设置系统材质处理。
默认值: undefined
系统接口: 此接口为系统接口。
原子化服务API: 从API version 23开始,该接口支持在原子化服务中使用。
模型约束: 此接口仅可在Stage模型下使用。

示例

示例1(设置菜单的系统材质)

该示例通过设置ContextMenuOptions中的systemMaterial属性,实现了菜单的系统材质视效。

从API version 23开始,在ContextMenuOptions中新增了systemMaterial属性。

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

@Entry
@Component
struct Index {
  @Builder
  MyMenu() {
    Menu() {
      MenuItem({ startIcon: this.iconStr, content: '菜单选项' })
      MenuItem({ startIcon: this.iconStr, content: '菜单选项' })
      MenuItem({ startIcon: this.iconStr, content: '菜单选项' })
    }
  }

  build() {
    Column() {
      Button('bindMenu with THICK material')
        .bindMenu(this.MyMenu, {
          systemMaterial: new uiMaterial.Material({ type: uiMaterial.MaterialType.SEMI_TRANSPARENT })
        })
    }
    // $r('app.media.img')需要替换为开发者所需的图像资源文件。
    .backgroundImage($r('app.media.img'))
  }
}

未设置系统材质

menuWithoutNewMaterial

设置系统材质

menuNewMaterial

你可能感兴趣的鸿蒙文章

openharmony 鸿蒙 ts-drawing-components-shape

openharmony 鸿蒙 ts-universal-attributes-sharp-clipping

openharmony 鸿蒙 ts-universal-attributes-toolbar

openharmony 鸿蒙 ts-container-lazyvgridlayout

openharmony 鸿蒙 ohos-arkui-advanced-FoldSplitContainer

openharmony 鸿蒙 ts-methods-calendarpicker-dialog

openharmony 鸿蒙 ts-uicommonevent

openharmony 鸿蒙 ts-basic-gestures-tapgesture

openharmony 鸿蒙 ohos-arkui-advanced-DialogV2

openharmony 鸿蒙 ts-components-canvas-canvas

  • 所属分类: 后端技术
  • 本文标签: 鸿蒙 软件
  • 版权声明: 本文链接 https://seaxiang.com/blog/lDqrAaX2