觸摸熱區設置
適用于支持通用點擊事件、通用觸摸事件、通用手勢處理的組件。
說明:
開發前請熟悉鴻蒙開發指導文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]
從API Version 8開始支持。后續版本如有新增內容,則采用上角標單獨標記該內容的起始版本。
屬性
名稱 | 參數類型 | 描述 |
---|---|---|
responseRegion | Array<[Rectangle]> | [Rectangle] |
Rectangle對象說明
從API version 9開始,該接口支持在ArkTS卡片中使用。
名稱 | 類型 | 必填 | 描述 |
---|---|---|---|
x | [Length] | 否 | 觸摸點相對于組件左上角的x軸坐標。 默認值:0vp |
y | [Length] | 否 | 觸摸點相對于組件左上角的y軸坐標。 默認值:0vp |
width | [Length] | 否 | 觸摸熱區的寬度。 默認值:'100%' |
height | [Length] | 否 | 觸摸熱區的高度。 默認值:'100%'HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿 |
說明:
x和y可以設置正負值百分比。當x設置為'100%'時表示熱區往右偏移組件本身寬度大小,當x設置為'-100%'時表示熱區往左偏移組件本身寬度大小。當y設置為'100%'時表示熱區往下偏移組件本身高度大小,當y設置為'-100%'時表示熱區往上偏移組件本身高度大小。
width和height只能設置正值百分比。width:'100%'表示熱區寬度設置為該組件本身的寬度。比如組件本身寬度是100vp,那么'100%'表示熱區寬度也為100vp。height:'100%'表示熱區高度設置為該組件本身的高度。
百分比相對于組件自身寬高進行計算。
示例
// xxx.ets
@Entry
@Component
struct TouchTargetExample {
@State text: string = ""
build() {
Column({ space: 20 }) {
Text("{x:0,y:0,width:'50%',height:'100%'}")
// 熱區寬度為按鈕的一半,點擊右側無響應
Button("button1")
.responseRegion({ x: 0, y: 0, width: '50%', height: '100%' })
.onClick(() = > {
this.text = 'button1 clicked'
})
// 熱區寬度為按鈕的一半,且右移一個按鈕寬度,點擊button2右側左邊,點擊事件生效
Text("{x:'100%',y:0,width:'50%',height:'100%'}")
Button("button2")
.responseRegion({ x: '100%', y: 0, width: '50%', height: '100%' })
.onClick(() = > {
this.text = 'button2 clicked'
})
// 熱區大小為整個按鈕,且下移一個按鈕高度,點擊button3下方按鈕大小區域,點擊事件生效
Text("{x:0,y:'100%',width:'100%',height:'100%'}")
Button("button3")
.responseRegion({ x: 0, y: '100%', width: '100%', height: '100%' })
.onClick(() = > {
this.text = 'button3 clicked'
})
Text(this.text).margin({ top: 50 })
}.width('100%').margin({ top: 10 })
}
}
審核編輯 黃宇
-
觸摸
+關注
關注
7文章
198瀏覽量
64156 -
交互控制
+關注
關注
0文章
6瀏覽量
7002 -
鴻蒙
+關注
關注
57文章
2321瀏覽量
42749
發布評論請先 登錄
相關推薦
評論