Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
640ac1f4
D
Docs
项目概览
OpenHarmony
/
Docs
1 年多 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
640ac1f4
编写于
8月 08, 2022
作者:
O
openharmony_ci
提交者:
Gitee
8月 08, 2022
浏览文件
操作
浏览文件
下载
差异文件
!7757 新增hitTestBehavior属性
Merge pull request !7757 from caocan/master
上级
b9881fef
bdabe70c
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
72 addition
and
0 deletion
+72
-0
zh-cn/application-dev/reference/arkui-ts/Readme-CN.md
zh-cn/application-dev/reference/arkui-ts/Readme-CN.md
+1
-0
zh-cn/application-dev/reference/arkui-ts/ts-universal-attributes-hit-test-behavior.md
...nce/arkui-ts/ts-universal-attributes-hit-test-behavior.md
+70
-0
zh-cn/application-dev/website.md
zh-cn/application-dev/website.md
+1
-0
未找到文件。
zh-cn/application-dev/reference/arkui-ts/Readme-CN.md
浏览文件 @
640ac1f4
...
...
@@ -38,6 +38,7 @@
-
[
组件标识
](
ts-universal-attributes-component-id.md
)
-
[
触摸热区设置
](
ts-universal-attributes-touch-target.md
)
-
[
多态样式
](
ts-universal-attributes-polymorphic-style.md
)
-
[
触摸测试控制
](
ts-universal-attributes-hit-test-behavior.md
)
-
手势处理
-
[
绑定手势方法
](
ts-gesture-settings.md
)
-
基础手势
...
...
zh-cn/application-dev/reference/arkui-ts/ts-universal-attributes-hit-test-behavior.md
0 → 100644
浏览文件 @
640ac1f4
# 触摸测试控制
设置组件的触摸测试类型。ArkUI开发框架在处理触屏事件时,会在触屏事件触发前,进行按压点和组件区域的触摸测试来收集需要响应触屏事件的组件,然后基于触摸测试结果分发相应的触屏事件。hitTestBehavior属性可以设置不同的触摸测试响应模式,影响组件的触摸测试收集结果,最终影响后续的触屏事件分发,具体影响参考HitTestMode枚举说明。
> **说明:**
> - 从API Version 9开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
> - 当Stack组件中有多个节点触摸区域重叠时,如两个节点,默认只会对显示在最上层的节点做触摸测试,若需要显示在下层的节点触发触摸测试,请给显示在上层的节点设置hitTestBehavior为HitTestMode.Transparent。
## 权限列表
无
## 属性
|
**名称**
|
**参数类型**
|
**默认值**
|
**描述**
|
| -------------------- | -------- | ------- | ---------------------------------------- |
| 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事件。
```
ts
// 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
)
}
}
```
\ No newline at end of file
zh-cn/application-dev/website.md
浏览文件 @
640ac1f4
...
...
@@ -417,6 +417,7 @@
-
[
组件标识
](
reference/arkui-ts/ts-universal-attributes-component-id.md
)
-
[
触摸热区设置
](
reference/arkui-ts/ts-universal-attributes-touch-target.md
)
-
[
多态样式
](
reference/arkui-ts/ts-universal-attributes-polymorphic-style.md
)
-
[
触摸测试控制
](
reference/arkui-ts/ts-universal-attributes-hit-test-behavior.md
)
-
手势处理
-
[
绑定手势方法
](
reference/arkui-ts/ts-gesture-settings.md
)
-
基础手势
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录