0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙ArkTS聲明式開發(fā):跨平臺支持列表【觸摸測試控制】觸摸交互控制

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-06-11 22:12 ? 次閱讀

觸摸測試控制

設(shè)置組件的觸摸測試類型。ArkUI開發(fā)框架在處理觸屏事件時,會在觸屏事件觸發(fā)前,進(jìn)行按壓點和組件區(qū)域的觸摸測試來收集需要響應(yīng)觸屏事件的組件,然后基于觸摸測試結(jié)果分發(fā)相應(yīng)的觸屏事件。hitTestBehavior屬性可以設(shè)置不同的觸摸測試響應(yīng)模式,影響組件的觸摸測試收集結(jié)果,最終影響后續(xù)的觸屏事件分發(fā),具體影響參考[HitTestMode]枚舉說明。

說明:

  • 從API Version 9開始支持。后續(xù)版本如有新增內(nèi)容,則采用上角標(biāo)單獨標(biāo)記該內(nèi)容的起始版本。
  • 當(dāng)Stack組件中有多個節(jié)點觸摸區(qū)域重疊時,如兩個節(jié)點,默認(rèn)只會對顯示在最上層的節(jié)點做觸摸測試,若需要顯示在下層的節(jié)點觸發(fā)觸摸測試,請給顯示在上層的節(jié)點設(shè)置hitTestBehavior為HitTestMode.Transparent。

屬性

名稱參數(shù)類型描述
hitTestBehavior[HitTestMode]設(shè)置當(dāng)前組件的觸摸測試類型。 默認(rèn)值: HitTestMode.Default

HitTestMode枚舉說明

名稱描述
Default默認(rèn)觸摸測試效果,自身和子節(jié)點都響應(yīng)觸摸測試,但會阻塞兄弟節(jié)點的觸摸測試。
Block自身響應(yīng)觸摸測試,阻塞子節(jié)點和兄弟節(jié)點的觸摸測試。
Transparent自身和子節(jié)點都響應(yīng)觸摸測試,不會阻塞兄弟節(jié)點的觸摸測試。
None自身不響應(yīng)觸摸測試,不會阻塞子節(jié)點和兄弟節(jié)點的觸摸測試。

示例

Text組件設(shè)置hitTestBehavior為HitTestMode.Transparent,不會阻塞內(nèi)層Stack的觸摸測試,因此Text和內(nèi)層Stack的onTouch事件都會觸發(fā)。
內(nèi)層Stack設(shè)置hitTestBehavior為HitTestMode.Block,會阻塞子節(jié)點和外層Button進(jìn)行觸摸測試,因此內(nèi)層Button和外層Button組件不會響應(yīng)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)
  }
}

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 測試
    +關(guān)注

    關(guān)注

    8

    文章

    5105

    瀏覽量

    126341
  • 觸摸
    +關(guān)注

    關(guān)注

    7

    文章

    198

    瀏覽量

    64121
  • 組件
    +關(guān)注

    關(guān)注

    1

    文章

    503

    瀏覽量

    17786
  • 交互控制
    +關(guān)注

    關(guān)注

    0

    文章

    6

    瀏覽量

    6990
收藏 人收藏

    評論

    相關(guān)推薦

    鴻蒙ArkTS聲明開發(fā)平臺支持列表【Popup控制】 通用屬性

    給組件綁定popup彈窗,并設(shè)置彈窗內(nèi)容,交互邏輯和顯示狀態(tài)。
    的頭像 發(fā)表于 06-05 14:36 ?1168次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>開發(fā)</b>:<b class='flag-5'>跨</b><b class='flag-5'>平臺</b><b class='flag-5'>支持</b><b class='flag-5'>列表</b>【Popup<b class='flag-5'>控制</b>】 通用屬性

    鴻蒙ArkTS的起源和簡介

    1、引言 Mozilla創(chuàng)造了JS,Microsoft創(chuàng)建了TS,Huawei進(jìn)一步推出了ArkTS。 從最初的基礎(chǔ)的邏輯交互能力,到具備類型系統(tǒng)的高效工程開發(fā)能力,再到融合聲明
    發(fā)表于 01-16 16:23

    HarmonyOS/OpenHarmony應(yīng)用開發(fā)-ArkTS聲明開發(fā)范式

    基于ArkTS聲明開發(fā)范式的方舟開發(fā)框架是一套開發(fā)極簡、高性能、
    發(fā)表于 01-17 15:09

    鴻蒙開發(fā)ArkTS基礎(chǔ)知識

    一、ArkTS簡介 ArkTS是HarmonyOS優(yōu)選的主力應(yīng)用開發(fā)語言。它在TypeScript(簡稱TS)的基礎(chǔ)上,匹配了鴻蒙的ArkUI框架,擴(kuò)展了
    的頭像 發(fā)表于 01-24 16:44 ?2076次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>之<b class='flag-5'>ArkTS</b>基礎(chǔ)知識

    鴻蒙ArkTS聲明開發(fā)平臺支持列表【點擊事件】

    組件被點擊時觸發(fā)的事件。
    的頭像 發(fā)表于 05-26 21:25 ?578次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>開發(fā)</b>:<b class='flag-5'>跨</b><b class='flag-5'>平臺</b><b class='flag-5'>支持</b><b class='flag-5'>列表</b>【點擊事件】

    鴻蒙ArkTS聲明開發(fā)平臺支持列表觸摸事件】

    當(dāng)手指在組件上按下、滑動、抬起時觸發(fā)。
    的頭像 發(fā)表于 05-27 09:34 ?408次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>開發(fā)</b>:<b class='flag-5'>跨</b><b class='flag-5'>平臺</b><b class='flag-5'>支持</b><b class='flag-5'>列表</b>【<b class='flag-5'>觸摸</b>事件】

    鴻蒙ArkTS聲明開發(fā)平臺支持列表【按鍵事件】

    按鍵事件指組件與鍵盤、遙控器等按鍵設(shè)備交互時觸發(fā)的事件,適用于所有可獲焦組件,例如Button。對于Text,Image等默認(rèn)不可獲焦的組件,可以設(shè)置focusable屬性為true后使用按鍵事件。
    的頭像 發(fā)表于 05-28 18:12 ?789次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>開發(fā)</b>:<b class='flag-5'>跨</b><b class='flag-5'>平臺</b><b class='flag-5'>支持</b><b class='flag-5'>列表</b>【按鍵事件】

    鴻蒙ArkTS聲明開發(fā)平臺支持列表【焦點事件】

    焦點事件指頁面焦點在可獲焦組件間移動時觸發(fā)的事件,組件可使用焦點事件來處理相關(guān)邏輯。
    的頭像 發(fā)表于 05-27 22:17 ?259次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>開發(fā)</b>:<b class='flag-5'>跨</b><b class='flag-5'>平臺</b><b class='flag-5'>支持</b><b class='flag-5'>列表</b>【焦點事件】

    鴻蒙ArkTS聲明開發(fā)平臺支持列表【顯隱控制】 通用屬性

    控制當(dāng)前組件顯示或隱藏。注意,即使組件處于隱藏狀態(tài),在頁面刷新時仍存在重新創(chuàng)建過程,因此當(dāng)對性能有嚴(yán)格要求時建議使用[條件渲染]代替。 默認(rèn)值:Visibility.Visible 從API version 9開始,該接口支持ArkT
    的頭像 發(fā)表于 06-03 14:46 ?527次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>開發(fā)</b>:<b class='flag-5'>跨</b><b class='flag-5'>平臺</b><b class='flag-5'>支持</b><b class='flag-5'>列表</b>【顯隱<b class='flag-5'>控制</b>】 通用屬性

    鴻蒙ArkTS聲明開發(fā)平臺支持列表【禁用控制】 通用屬性

    組件是否可交互,可交互狀態(tài)下響應(yīng)[點擊事件]、[觸摸事件]、[拖拽事件]、[按鍵事件]、[焦點事件]和[鼠標(biāo)事件]。
    的頭像 發(fā)表于 06-03 10:21 ?286次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>開發(fā)</b>:<b class='flag-5'>跨</b><b class='flag-5'>平臺</b><b class='flag-5'>支持</b><b class='flag-5'>列表</b>【禁用<b class='flag-5'>控制</b>】 通用屬性

    鴻蒙ArkTS聲明開發(fā)平臺支持列表【形狀裁剪】 通用屬性

    參數(shù)為相應(yīng)類型的組件,按指定的形狀對當(dāng)前組件進(jìn)行裁剪;參數(shù)為boolean類型時,設(shè)置是否按照父容器邊緣輪廓進(jìn)行裁剪。 默認(rèn)值:false 從API version 9開始,該接口支持ArkTS卡片中使用。
    的頭像 發(fā)表于 06-04 15:22 ?406次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>開發(fā)</b>:<b class='flag-5'>跨</b><b class='flag-5'>平臺</b><b class='flag-5'>支持</b><b class='flag-5'>列表</b>【形狀裁剪】 通用屬性

    鴻蒙ArkTS聲明開發(fā)平臺支持列表【菜單控制】 通用屬性

    為組件綁定彈出菜單,彈出菜單以垂直列表形式顯示菜單項,可通過長按、點擊或鼠標(biāo)右鍵觸發(fā)。
    的頭像 發(fā)表于 06-06 09:17 ?495次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>開發(fā)</b>:<b class='flag-5'>跨</b><b class='flag-5'>平臺</b><b class='flag-5'>支持</b><b class='flag-5'>列表</b>【菜單<b class='flag-5'>控制</b>】 通用屬性

    鴻蒙ArkTS聲明開發(fā)平臺支持列表【多態(tài)樣式】 通用屬性

    設(shè)置組件不同狀態(tài)的樣式。 從API version 9開始,該接口支持ArkTS卡片中使用。
    的頭像 發(fā)表于 06-07 09:48 ?347次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>開發(fā)</b>:<b class='flag-5'>跨</b><b class='flag-5'>平臺</b><b class='flag-5'>支持</b><b class='flag-5'>列表</b>【多態(tài)樣式】 通用屬性

    鴻蒙ArkTS聲明開發(fā)平臺支持列表觸摸熱區(qū)設(shè)置】觸摸交互控制

    適用于支持通用點擊事件、通用觸摸事件、通用手勢處理的組件。
    的頭像 發(fā)表于 06-13 10:33 ?398次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>開發(fā)</b>:<b class='flag-5'>跨</b><b class='flag-5'>平臺</b><b class='flag-5'>支持</b><b class='flag-5'>列表</b>【<b class='flag-5'>觸摸</b>熱區(qū)設(shè)置】<b class='flag-5'>觸摸</b><b class='flag-5'>交互</b><b class='flag-5'>控制</b>

    dsi接口,支持觸摸控制

    顯示設(shè)備對高分辨率、高刷新率和低功耗的需求。然而,DSI接口本身并不直接支持觸摸控制功能。 觸摸控制技術(shù)主要依賴于
    的頭像 發(fā)表于 08-20 11:44 ?422次閱讀