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-05-27 09:34 ? 次閱讀

觸摸事件

當(dāng)手指在組件上按下、滑動、抬起時觸發(fā)。

說明:
開發(fā)前請熟悉鴻蒙開發(fā)指導(dǎo)文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]
從API Version 7開始支持。后續(xù)版本如有新增內(nèi)容,則采用上角標(biāo)單獨(dú)標(biāo)記該內(nèi)容的起始版本。

事件

名稱是否冒泡功能描述
onTouch(event: (event?: TouchEvent) => void)手指觸摸動作觸發(fā)該回調(diào),event返回值見[TouchEvent]介紹。

TouchEvent對象說明

名稱類型描述
type[TouchType]觸摸事件的類型。
touchesArray<[TouchObject]>全部手指信息。
changedTouchesArray<[TouchObject]>當(dāng)前發(fā)生變化的手指信息。
stopPropagation() => void阻塞事件冒泡。
timestamp8+number事件時間戳,觸發(fā)事件時距離系統(tǒng)啟動的時間間隔。 例如,當(dāng)系統(tǒng)啟動時間為2023/10/12 11:33, 在2023/10/12 11:34時觸發(fā)觸摸事件,時間戳返回的值為60,000,000,000ns。 單位:納秒
target8+[EventTarget]觸發(fā)事件的元素對象顯示區(qū)域。
source8+[SourceType]事件輸入設(shè)備。
getHistoricalPoints10+Array<[HistoricalPoint]>獲取當(dāng)前幀所有的歷史點(diǎn)。不同設(shè)備每幀的觸摸事件頻率不同,當(dāng)前幀所有的觸摸事件被稱為歷史點(diǎn)。

TouchObject對象說明

名稱類型描述
type[TouchType]觸摸事件的類型。
idnumber手指唯一標(biāo)識符。
xnumber觸摸點(diǎn)相對于被觸摸元素左上角的X坐標(biāo)。
ynumber觸摸點(diǎn)相對于被觸摸元素左上角的Y坐標(biāo)。
windowX10+number觸摸點(diǎn)相對于應(yīng)用窗口左上角的X坐標(biāo)。
windowY10+number觸摸點(diǎn)相對于應(yīng)用窗口左上角的Y坐標(biāo)。
displayX10+number觸摸點(diǎn)相對于應(yīng)用屏幕左上角的X坐標(biāo)。
displayY10+number觸摸點(diǎn)相對于應(yīng)用屏幕左上角的Y坐標(biāo)。

HistoricalPoint10+對象說明

搜狗高速瀏覽器截圖20240326151344.png

名稱類型描述HarmonyOSOpenHarmony鴻蒙文檔籽料:mau123789是v直接拿
touchObject[TouchObject]歷史點(diǎn)對應(yīng)觸摸事件的基礎(chǔ)信息。
sizenumber歷史點(diǎn)對應(yīng)觸摸事件的手指與屏幕的觸摸區(qū)域大小。 默認(rèn)值:0
forcenumber歷史點(diǎn)對應(yīng)觸摸事件的壓力大小。 默認(rèn)值:0 取值范圍:[0,1],壓力越大值越大。 此接口根據(jù)硬件設(shè)備不同,支持情況不同。當(dāng)前只支持Tablet。
timestampnumber歷史點(diǎn)對應(yīng)觸摸事件的時間戳。觸發(fā)事件時距離系統(tǒng)啟動的時間間隔。 單位:毫秒

示例

// xxx.ets
@Entry
@Component
struct TouchExample {
  @State text: string = ''
  @State eventType: string = ''

  build() {
    Column() {
      Button('Touch').height(40).width(100)
        .onTouch((event?: TouchEvent) = > {
          if(event){
            if (event.type === TouchType.Down) {
              this.eventType = 'Down'
            }
            if (event.type === TouchType.Up) {
              this.eventType = 'Up'
            }
            if (event.type === TouchType.Move) {
              this.eventType = 'Move'
            }
            this.text = 'TouchType:' + this.eventType + 'nDistance between touch point and touch element:nx: '
            + event.touches[0].x + 'n' + 'y: ' + event.touches[0].y + 'nComponent globalPos:('
            + event.target.area.globalPosition.x + ',' + event.target.area.globalPosition.y + ')nwidth:'
            + event.target.area.width + 'nheight:' + event.target.area.height
          }
        })
      Button('Touch').height(50).width(200).margin(20)
        .onTouch((event?: TouchEvent) = > {
          if(event){
            if (event.type === TouchType.Down) {
              this.eventType = 'Down'
            }
            if (event.type === TouchType.Up) {
              this.eventType = 'Up'
            }
            if (event.type === TouchType.Move) {
              this.eventType = 'Move'
            }
            this.text = 'TouchType:' + this.eventType + 'nDistance between touch point and touch element:nx: '
            + event.touches[0].x + 'n' + 'y: ' + event.touches[0].y + 'nComponent globalPos:('
            + event.target.area.globalPosition.x + ',' + event.target.area.globalPosition.y + ')nwidth:'
            + event.target.area.width + 'nheight:' + event.target.area.height
          }
        })
      Text(this.text)
    }.width('100%').padding(30)
  }
}

zh-cn_image_0000001209874754

審核編輯 黃宇

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

    關(guān)注

    57

    文章

    2352

    瀏覽量

    42859
收藏 人收藏

    評論

    相關(guān)推薦

    鴻蒙ArkTS的起源和簡介

    新的聲明開發(fā)范式,基于Skia的自繪制引擎構(gòu)建可平臺的獨(dú)立的渲染能力。這是一種較為創(chuàng)新的方案,不過也有幾點(diǎn)不足: Dart語言生態(tài)。盡管
    發(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 ?2266次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>之<b class='flag-5'>ArkTS</b>基礎(chǔ)知識

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

    組件被點(diǎn)擊時觸發(fā)的事件。
    的頭像 發(fā)表于 05-26 21:25 ?719次閱讀
    <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>【點(diǎn)擊事件】

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

    按鍵事件指組件與鍵盤、遙控器等按鍵設(shè)備交互時觸發(fā)的事件,適用于所有可獲焦組件,例如Button。對于Text,Image等默認(rèn)不可獲焦的組件,可以設(shè)置focusable屬性為true后使用按鍵事件。
    的頭像 發(fā)表于 05-28 18:12 ?875次閱讀
    <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ā)平臺支持列表【焦點(diǎn)事件】

    焦點(diǎn)事件指頁面焦點(diǎn)在可獲焦組件間移動時觸發(fā)的事件,組件可使用焦點(diǎn)事件來處理相關(guān)邏輯。
    的頭像 發(fā)表于 05-27 22:17 ?340次閱讀
    <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>【焦點(diǎn)事件】

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

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

    組件是否可交互,可交互狀態(tài)下響應(yīng)[點(diǎn)擊事件]、[觸摸事件]、[拖拽事件]、[按鍵事件]、[焦點(diǎn)事件]和[鼠標(biāo)事件]。
    的頭像 發(fā)表于 06-03 10:21 ?324次閱讀
    <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ā)平臺支持列表【形狀裁剪】 通用屬性

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

    為組件綁定彈出菜單,彈出菜單以垂直列表形式顯示菜單項,可通過長按、點(diǎn)擊或鼠標(biāo)右鍵觸發(fā)。
    的頭像 發(fā)表于 06-06 09:17 ?689次閱讀
    <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ā)平臺支持列表【多態(tài)樣式】 通用屬性

    設(shè)置組件不同狀態(tài)的樣式。 從API version 9開始,該接口支持ArkTS卡片中使用。
    的頭像 發(fā)表于 06-07 09:48 ?407次閱讀
    <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ā)平臺支持列表【分布遷移標(biāo)識】 通用屬性

    組件的分布遷移標(biāo)識,指明了該組件在分布遷移場景下可以將特定狀態(tài)恢復(fù)到對端設(shè)備。
    的頭像 發(fā)表于 06-07 21:15 ?402次閱讀

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

    適用于支持通用點(diǎn)擊事件、通用觸摸事件、通用手勢處理的組件。
    的頭像 發(fā)表于 06-13 10:33 ?461次閱讀
    <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>交互控制

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

    設(shè)置組件的觸摸測試類型。ArkUI開發(fā)框架在處理觸屏事件時,會在觸屏事件觸發(fā)前,進(jìn)行按壓點(diǎn)和組件區(qū)域的觸摸測試來收集需要響應(yīng)觸屏事件的組件,然后基于觸摸測試結(jié)果分發(fā)相應(yīng)的觸屏
    的頭像 發(fā)表于 06-11 22:12 ?439次閱讀

    鴻蒙ArkTS聲明開發(fā)平臺支持列表【TapGesture】 基礎(chǔ)手勢

    支持單擊、雙擊和多次點(diǎn)擊事件的識別。
    的頭像 發(fā)表于 06-17 14:19 ?354次閱讀
    <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>【TapGesture】 基礎(chǔ)手勢