HarmonyOS 鸿蒙Next menu如何在触发点击事件之后不消失呢?

HarmonyOS 鸿蒙Next menu如何在触发点击事件之后不消失呢?

做了一个选择地图图层的menu
每次选完之后这个menu就消失了 ,如何让他触发onclick之后不自动消失呢?

@Builder
layerMenuItem(img:Resource,title:string,select:boolean) {
Row(){
Image(img)
.width(50)
.height(35)
.margin($r(‘app.float.item_margin’))
Text(title)
.fontSize($r(‘app.float.item_title_size’))
.margin($r(‘app.float.item_margin’))
Blank()
Image(select?$r(‘app.media.icon_duihao’):null)
.width(20)
.height(20)
.margin($r(‘app.float.item_margin’))
}
}

@Builder
layerMenu() {
Menu() {
MenuItem(this.layerMenuItem($r(‘app.media.map_type_l’),‘标准图层’,this.aMap?.getMapType() == MapType.MAP_TYPE_NORMAL)).onClick(() => {
this.aMap?.setMapType(MapType.MAP_TYPE_NORMAL)
})

MenuItem(this.layerMenuItem($r('app.media.map_type_n'),'夜间图层',this.aMap?.getMapType() == MapType.MAP_TYPE_NIGHT)).onClick(() => {  
  this.aMap?.setMapType(MapType.MAP_TYPE_NIGHT)  
})  

MenuItem(this.layerMenuItem($r('app.media.map_type_s'),'卫星图层',this.aMap?.getMapType() == MapType.MAP_TYPE_SATELLITE)).onClick(() => {  
  this.aMap?.setMapType(MapType.MAP_TYPE_SATELLITE)  
})  

}
}


更多关于HarmonyOS 鸿蒙Next menu如何在触发点击事件之后不消失呢?的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

这个如果像鸿蒙提需求,需要有合理且必须场景,你这个能说下你的场景吗?为什么必须不能隐藏

更多关于HarmonyOS 鸿蒙Next menu如何在触发点击事件之后不消失呢?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


因为是之前看menu的示例感觉很方便,所以用menu做的一个设置菜单,最后改成用dialog实现了。。。

目前在相关APIs没有看到这块的能力开放,你可以在华为智能客服进行在线提单

在HarmonyOS(鸿蒙)系统中,如果你希望在触发Next menu(通常指下拉或上拉菜单)的点击事件后不让其消失,这通常涉及到对菜单项点击事件的自定义处理。具体实现方法可能依赖于你使用的组件和框架版本,但基本原理是捕获点击事件并阻止默认的关闭行为。

一种可能的方法是,在菜单项的点击事件处理函数中,通过编程方式控制菜单的显示状态。这通常需要你能够访问控制菜单显示逻辑的代码部分。例如,如果菜单是通过某个特定的UI组件实现的,你可能需要查看该组件的API文档,了解如何控制其可见性。

另一种策略是,如果菜单的自动隐藏是由系统默认行为控制的,你可能需要查找是否有系统级设置或API可以修改这一行为。然而,请注意,修改系统默认行为可能需要较高的权限,甚至可能不被官方支持。

在具体实现时,你可能需要查阅HarmonyOS的官方开发文档或示例代码,了解如何正确地捕获事件并控制UI组件的状态。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部