harmony 鸿蒙自定义事件拦截
自定义事件拦截
为组件提供自定义的事件拦截能力,开发者可根据事件在控件上按下时发生的位置,输入源等事件信息决定控件上的HitTestMode属性。
说明:
从API version 12开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
onTouchIntercept
onTouchIntercept(callback: Callback
原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.ArkUI.ArkUI.Full
参数:
参数名 | 参数类型 | 必填 | 参数描述 |
---|---|---|---|
callback | Callback<TouchEvent, HitTestMode> | 是 | 给组件绑定自定义事件拦截回调,并使能在做触摸测试时回调此函数。通过返回值设置组件的触摸碰撞测试模式。 |
示例
该示例通过onTouchIntercept修改组件的HitTestMode属性。
// xxx.ets
@Entry
@Component
struct Index {
isPolygon(event: TouchEvent) {
return true;
}
build(){
Row(){
Column(){
Text("hello world")
.backgroundColor(Color.Blue)
.fontSize(50)
.fontWeight(FontWeight.Bold)
.onClick(()=>{
console.log("Text click");
})
}
.width(400)
.height(300)
.backgroundColor(Color.Pink)
.onClick(()=>{
console.log("Column click");
})
// 调用onTouchIntercept修改该组件的HitTestMode属性
.onTouchIntercept((event : TouchEvent) => {
console.log("OnTouchIntercept + " + JSON.stringify(event));
if (this.isPolygon(event)) {
return HitTestMode.None
}
return HitTestMode.Default
})
}
.width('100%')
}
}
你可能感兴趣的鸿蒙文章
0
赞
- 所属分类: 后端技术
- 本文标签:
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦