在image组件中使用bindContextMenu报错

在image组件中使用bindContextMenu报错

HarmonyOS
2024-08-05 14:56:09
1.2w浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
唯你而画

鉴于Image元素具有长按触发拖拽的内置属性,这与长按弹出的菜单功能存在潜在的冲突,为确保用户体验的流畅性,我们建议将图片的draggable属性明确设置为false。以下是参考代码的示例:

@Entry
@Component
struct Index {
  @Builder
  MenuBuilder() {
    Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
      Button('Test ContextMenu1')
      Divider().strokeWidth(2).margin(5).color(Color.Black)
      Button('Test ContextMenu2')
      Divider().strokeWidth(2).margin(5).color(Color.Black)
      Button('Test ContextMenu3')
    }
    .width(200)
    .height(160)
  }

  build() {
    Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
      Column() {
        Image($r('app.media.icon'))
          .draggable(false)
          .width('100vp')
      }
      .bindContextMenu(this.MenuBuilder, ResponseType.LongPress)
      .onDragStart(() => {
拖拽时关闭菜单
        ContextMenu.close()
      })

    }
    .width('100%')
    .height('100%')
  }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
分享
微博
QQ
微信
回复
2024-08-05 19:51:50


相关问题
Image无法使用bindContextMenu
2098浏览 • 1回复 待解决
自定义组件中使用@ObjectLink报错
1920浏览 • 1回复 待解决
HarmonyOS 依赖library中使用worker报错
1038浏览 • 1回复 待解决
HarmonyOS Image组件加载图片报错
546浏览 • 1回复 待解决
jenkins容器中使用docker报错问题
7960浏览 • 2回复 待解决
HarmonyOS Image组件加载在线图片报错
855浏览 • 1回复 待解决
HarmonyOS 元服务中使用axios报错2300028
473浏览 • 1回复 待解决
HarmonyOS 安全控件无法弹窗中使用
1063浏览 • 1回复 待解决