HarmonyOS 鸿蒙Next button从低层级变到高层级 无法点击
HarmonyOS 鸿蒙Next button从低层级变到高层级 无法点击
interface ImageCount { url: ResourceStr count: number }
@Entry @Component struct PrizeDraw { @State images: ImageCount[] = [ { url: $r(‘app.media.bg_00’), count: 0 }, { url: $r(‘app.media.bg_01’), count: 0 }, { url: $r(‘app.media.bg_02’), count: 0 }, { url: $r(‘app.media.bg_03’), count: 0 }, { url: $r(‘app.media.bg_04’), count: 0 }, { url: $r(‘app.media.bg_05’), count: 0 }, ]
//透明度 @State maskOpacity: number = 0 //层级 @State maskIndex: number = -1
build() {
Stack() {
//生肖卡
Column() {
Grid() {
ForEach(this.images, (item: ImageCount, index: number) => {
GridItem() {
Badge({
count: item.count,
position: BadgePosition.RightTop,
style: {
fontSize: 12,
badgeSize: 16,
badgeColor: '#FA2A2D'
}
}) {
Image(item.url)
.width(80)
}
}
})
}
.columnsTemplate('1fr 1fr 1fr')
.rowsTemplate('1fr 1fr')
.width('100%')
.height(300)
.margin({ top: 100 })
Button('立即抽卡')
.width(200)
.backgroundColor('#ef5b8c')
.margin({ top: 50 })
.onClick(()=>{
//点击时 修改遮罩参数 让遮罩显示
this.maskOpacity=1
//点击时 修改遮罩层级 让遮罩显示
this.maskIndex=99
console.log(‘2222’) })
}
.height('100%')
.width('100%')
//抽卡层
Column({space:30}) {
Text('获得生肖卡')
.fontColor('#f5ebcf')
.fontSize(25)
.fontWeight(700)
Image($r('app.media.img_00'))
.width(200)
Button('开心收下')
.width(200)
.height(50)
.backgroundColor(Color.Transparent)
.border({width:1,color:'#fff9e0'})
.onClick(()=>{
//点击时 修改遮罩参数 让遮罩不显示
this.maskOpacity=0
//点击时 修改遮罩层级 让遮罩不显示
this.maskIndex=-1
console.log('111')
})
}.width('100%')
.height('100%')
.backgroundColor('#cc000000')
.justifyContent(FlexAlign.Center)
//设置透明度
.opacity(this.maskOpacity)
//层级
.zIndex(this.maskIndex)
}
} }
更多关于HarmonyOS 鸿蒙Next button从低层级变到高层级 无法点击的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
我这边没问题,我记得之前3.1.1有这个问题。所以应该是你的DevEco Studio版本比较低,我是5.0.3.403版本。
建议你去官网下载最新版本。
更多关于HarmonyOS 鸿蒙Next button从低层级变到高层级 无法点击的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
确实,我的也没有问题
针对“HarmonyOS 鸿蒙Next button从低层级变到高层级 无法点击”的问题,可能的原因及解决方案如下:
原因一:权限设置问题
在鸿蒙系统中,如果某个按钮或组件的层级被提升后无法点击,可能是由于权限设置不当导致。请检查该按钮或其父级容器是否有正确的点击事件权限设置。
原因二:布局冲突
当按钮的层级被提升后,可能会与其他组件产生布局上的冲突,导致按钮被遮挡或无法正确响应点击事件。请检查布局文件,确保按钮没有被其他组件遮挡。
原因三:焦点问题
在某些情况下,按钮可能由于焦点问题而无法被点击。请检查是否有其他组件抢占了焦点,或者按钮本身是否设置了不可聚焦属性。
解决方案:
- 重新检查并调整按钮的权限设置。
- 修改布局文件,确保按钮处于可点击状态且没有被其他组件遮挡。
- 检查并调整焦点设置,确保按钮可以正确接收焦点。
如果以上方法均无法解决问题,可能是由于系统本身的bug或其他未知原因导致。此时,建议尝试重启设备或更新系统到最新版本。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html,