触摸测试控制
设置组件的触摸测试类型。ArkUI开发框架在处理触屏事件时,会在触屏事件触发前,进行按压点和组件区域的触摸测试来收集需要响应触屏事件的组件,然后基于触摸测试结果分发相应的触屏事件。hitTestBehavior属性可以设置不同的触摸测试响应模式,影响组件的触摸测试收集结果,最终影响后续的触屏事件分发,具体影响参考[HitTestMode]枚举说明。
说明:
属性
名称 | 参数类型 | 描述 |
---|---|---|
hitTestBehavior | [HitTestMode] | 设置当前组件的触摸测试类型。 默认值: HitTestMode.Default |
HitTestMode枚举说明
名称 | 描述 |
---|---|
Default | 默认触摸测试效果,自身和子节点都响应触摸测试,但会阻塞兄弟节点的触摸测试。 |
Block | 自身响应触摸测试,阻塞子节点和兄弟节点的触摸测试。 |
Transparent | 自身和子节点都响应触摸测试,不会阻塞兄弟节点的触摸测试。 |
None | 自身不响应触摸测试,不会阻塞子节点和兄弟节点的触摸测试。 |
示例
Text组件设置hitTestBehavior为HitTestMode.Transparent,不会阻塞内层Stack的触摸测试,因此Text和内层Stack的onTouch事件都会触发。
内层Stack设置hitTestBehavior为HitTestMode.Block,会阻塞子节点和外层Button进行触摸测试,因此内层Button和外层Button组件不会响应onTouch事件。
// xxx.ets
@Entry
@Component
struct HitTestBehaviorExample {
build() {
// outer stack
Stack() {
Button('outer button')
.onTouch((event) = > {
console.info('outer button touched type: ' + event.type)
})
// inner stack
Stack() {
Button('inner button')
.onTouch((event) = > {
console.info('inner button touched type: ' + event.type)
})
}
.width("100%").height("100%")
.hitTestBehavior(HitTestMode.Block)
.onTouch((event) = > {
console.info('stack touched type: ' + event.type)
})
Text('Transparent')
.hitTestBehavior(HitTestMode.Transparent)
.width("100%").height("100%")
.onTouch((event) = > {
console.info('text touched type: ' + event.type)
})
}.width(300).height(300)
}
}
审核编辑 黄宇
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
测试
+关注
关注
8文章
5290浏览量
126614 -
触摸
+关注
关注
7文章
198浏览量
64214 -
组件
+关注
关注
1文章
512浏览量
17819 -
交互控制
+关注
关注
0文章
6浏览量
7014
发布评论请先 登录
相关推荐
鸿蒙ArkTS的起源和简介
1、引言
Mozilla创造了JS,Microsoft创建了TS,Huawei进一步推出了ArkTS。
从最初的基础的逻辑交互能力,到具备类型系统的高效工程开发能力,再到融合声明
发表于 01-16 16:23
鸿蒙ArkTS声明式开发:跨平台支持列表【按键事件】
按键事件指组件与键盘、遥控器等按键设备交互时触发的事件,适用于所有可获焦组件,例如Button。对于Text,Image等默认不可获焦的组件,可以设置focusable属性为true后使用按键事件。
鸿蒙ArkTS声明式开发:跨平台支持列表【显隐控制】 通用属性
控制当前组件显示或隐藏。注意,即使组件处于隐藏状态,在页面刷新时仍存在重新创建过程,因此当对性能有严格要求时建议使用[条件渲染]代替。 默认值:Visibility.Visible 从API version 9开始,该接口支持在ArkT
鸿蒙ArkTS声明式开发:跨平台支持列表【形状裁剪】 通用属性
参数为相应类型的组件,按指定的形状对当前组件进行裁剪;参数为boolean类型时,设置是否按照父容器边缘轮廓进行裁剪。 默认值:false 从API version 9开始,该接口支持在ArkTS卡片中使用。
dsi接口,支持触摸控制吗
显示设备对高分辨率、高刷新率和低功耗的需求。然而,DSI接口本身并不直接支持触摸控制功能。 触摸控制威廉希尔官方网站
主要依赖于
评论