觸摸測試控制
設置組件的觸摸測試類型。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文章
5164瀏覽量
126474 -
觸摸
+關注
關注
7文章
198瀏覽量
64150 -
組件
+關注
關注
1文章
505瀏覽量
17805 -
交互控制
+關注
關注
0文章
6瀏覽量
7002
發布評論請先 登錄
相關推薦
鴻蒙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卡片中使用。
評論