HarmonyOS Stack中最底层的子组件是否支持处理点击事件?

在保存图片场景时(手动保存和自动保存),由于SaveButton不支持自定义样式。所以采用Stack堆叠的方式,不想让SaveButton显示,但需要用到它的点击事件。

具体代码如下所示:

build() {  
    Stack() {  
      SaveButton({icon:SaveIconStyle.FULL_FILLED, buttonType:ButtonType.Normal})  
        .width(32)  
        .height(52)  
        .borderWidth(1)  
        .borderColor(Color.Black)  
        .backgroundColor(Color.Orange)  
        .onClick(() => {  
          this.onSaveClick()  
        })  
      Column() {  
        Image(this.getEnabled() ? $r('app.media.icon_home_save') : $r('app.media.icon_home_save_uncheck'))// .fillColor(this.getEnabled()?$r('app.color.app_theme_color_338'):$r('app.color.col_999'))  
          .objectFit(ImageFit.Contain)  
          .width(32)  
        Text($r('app.string.common_save'))  
          .margin({ top: 4 })  
          .fontSize(12)  
          .fontColor('#444444')  
      }  
      .enabled(this.getEnabled())  
      .backgroundColor(Color.White)  
    }  
  }
HarmonyOS
2024-10-12 10:35:27
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

普通按钮可以通过设置下面column的属性hitTestBehavior(HitTestMode.Transparent),实现兄弟节点响应触摸测试,但是SaveButton是安全控件,不支持该能力,不能通过stack方式达到自定义SaveButton的目的,SaveButton仅支持官方提供的样式定义。参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-universal-attributes-hit-test-behavior-V5#hittestbehavior

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-security-components-savebutton-V5#savebuttonoptions

分享
微博
QQ
微信
回复
2024-10-12 16:43:30
相关问题
组件中如何处理组件点击事件
2753浏览 • 1回复 待解决
HarmonyOS 动态UI点击事件处理
164浏览 • 1回复 待解决
HarmonyOS 弹层点击事件透传处理
70浏览 • 1回复 待解决
Stack组件中如何触发下层事件控件
285浏览 • 1回复 待解决
HarmonyOS 组件如何拦截触摸事件
65浏览 • 1回复 待解决
组件事件可以传到父组件
676浏览 • 1回复 待解决