HarmonyOS 鸿蒙Next Stask层叠布局中 除了第一个View的点击事件生效 第二个View点击事件不生效

发布于 1周前 作者 zlyuanteng 来自 鸿蒙OS

HarmonyOS 鸿蒙Next Stask层叠布局中 除了第一个View的点击事件生效 第二个View点击事件不生效

@Entry
@Component
struct stask{
@State maskZIndex:number = -1
build(){
Stack({alignContent:Alignment.Center}) {
// View
Column({space:30}){
Text(“View1”)
Button(“button1”)
.onClick(()=>{
this.maskZIndex = 2
console.log(view ${this.maskZIndex})
})
}.width(‘100%’).height(‘80%’).backgroundColor(’#ffff6c6c’).justifyContent(FlexAlign.Center)
.opacity(0.5)

// View2
Column({space:30}){
Text(“View2”)
Button(“button2”)
.onClick(()=>{
this.maskZIndex = -1
})
}.onClick(()=>{
console.log(“onclick ==”)
}).width(‘100%’).height(‘70%’).backgroundColor(’#ff97ffff’).justifyContent(FlexAlign.Center)
.zIndex(this.maskZIndex)
.animation({duration:500})

}.width(‘100%’).height(‘100%’)
}
}

Stask层叠布局中 我在View1中通过控制maskIndex的值 进行是否展示View2 当展示View2之后 VIew2中的按钮无法进行点击交互,不知道是哪一步出错了

5 回复

这这。。我新建一个项目试试

希望HarmonyOS能继续加强在安全性方面的研发,保护用户的隐私和数据安全。

说多都是泪 新建项目还是一样 更新DevEco才正常 而且在DevEco里面检查更新一直说是最新版 结果官网这边看不是最新版 手动下载才行

是的,目前要去手动下最新的大版本

在HarmonyOS鸿蒙系统的Next Stage(可能是指Next Stage UI框架或类似组件)中,遇到层叠布局(Stack Layout)中仅第一个View的点击事件生效,而第二个View点击事件不生效的问题,通常与事件分发和拦截机制有关。

  1. 检查View层级:确保第二个View确实在布局中被正确添加且未被其他View遮挡。使用开发者选项中的布局边界显示功能,可以直观看到View的实际位置和大小。

  2. 事件拦截:检查第一个View是否有设置事件拦截逻辑(如onTouchEventonInterceptTouchEvent),这可能导致事件未传递到下方的第二个View。

  3. 点击区域:确认第二个View的点击区域是否有效,即是否有足够的可见和可交互面积。

  4. 焦点与可点击性:确保第二个View具有焦点且设置为可点击(clickable属性为true)。

  5. 更新与兼容:确认所使用的HarmonyOS SDK版本是否支持当前的开发需求,以及是否有相关的已知问题或更新补丁。

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

回到顶部