HarmonyOS 鸿蒙Next button从低层级变到高层级 无法点击

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

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 回复

我这边没问题,我记得之前3.1.1有这个问题。所以应该是你的DevEco Studio版本比较低,我是5.0.3.403版本。

建议你去官网下载最新版本。

更多关于HarmonyOS 鸿蒙Next button从低层级变到高层级 无法点击的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


确实,我的也没有问题

针对“HarmonyOS 鸿蒙Next button从低层级变到高层级 无法点击”的问题,可能的原因及解决方案如下:

原因一:权限设置问题
在鸿蒙系统中,如果某个按钮或组件的层级被提升后无法点击,可能是由于权限设置不当导致。请检查该按钮或其父级容器是否有正确的点击事件权限设置。

原因二:布局冲突
当按钮的层级被提升后,可能会与其他组件产生布局上的冲突,导致按钮被遮挡或无法正确响应点击事件。请检查布局文件,确保按钮没有被其他组件遮挡。

原因三:焦点问题
在某些情况下,按钮可能由于焦点问题而无法被点击。请检查是否有其他组件抢占了焦点,或者按钮本身是否设置了不可聚焦属性。

解决方案:

  1. 重新检查并调整按钮的权限设置。
  2. 修改布局文件,确保按钮处于可点击状态且没有被其他组件遮挡。
  3. 检查并调整焦点设置,确保按钮可以正确接收焦点。

如果以上方法均无法解决问题,可能是由于系统本身的bug或其他未知原因导致。此时,建议尝试重启设备或更新系统到最新版本。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部