HarmonyOS 组件通过onTouch改变position中Y的值,再次点击空间会跳回原位
想做一个可以拖拽的空间,通过ontouch事件修改控件的position的Y值 但是手指松开再次点击到控件组件就会跳回原位,如何防止跳回原位?demo:
@State touchY: number = 0
@State questionViewX:number = 100
@State questionViewY:number = 100
Stack(){
Column(){
Image($r('app.media.close_circle_8a8a8a')).width('20vp').height('20vp').objectFit(ImageFit.Cover)
Image($r('app.media.UnionLogo')).width('60vp').height('60vp')
}
.position({x:this.questionViewX,y:this.questionViewY})
.onTouch((event: TouchEvent) => {
if(event){
if (event.type === TouchType.Down) {
this.touchY = event.changedTouches[0].y
}
if (event.type === TouchType.Move) {
let dy = event.changedTouches[0].y - this.touchY
this.questionViewY = 100+dy
}
if (event.type === TouchType.Up) {
// this.touchY = 0
}
}
})
.focusOnTouch(true)
.alignItems(HorizontalAlign.End)
}
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS 组件配置offset属性后,组件的onAreaChange中的值,position不正确
457浏览 • 1回复 待解决
HarmonyOS如何获取inputText的X,Y的值
516浏览 • 1回复 待解决
Tablist 点击超出部分的tab触发点击事件 但是整个列表会自动跳回到最前面 请问怎么解决?
5271浏览 • 1回复 待解决
HarmonyOS 父组件中的builder里面的怎么根据父组件的@state的值来改变。
35浏览 • 1回复 待解决
#鸿蒙通关秘籍# 在HarmonyOS NEXT中如何通过onTouch事件阻止触摸事件冒泡至父组件?
110浏览 • 0回复 待解决
HarmonyOS toggle点击后,状态变化的回调会跟随开关值变化
742浏览 • 1回复 待解决
HarmonyOS 自定义Dialog中,进行系统返回操作时,会先关闭Dialog,再次点击才会退出当前页面
327浏览 • 1回复 待解决
askTs的progress组件的值改变时如何设置过度动画?
2268浏览 • 1回复 待解决
点击拒接按钮后无法再次来电
2032浏览 • 1回复 待解决
父组中变量值改变,如何让子组件中的值跟着一起变化?
487浏览 • 2回复 待解决
#鸿蒙通关秘籍# 如何使用Position和onTouch实现HarmonyOS首页下拉进入二楼的效果?
74浏览 • 0回复 待解决
eTS position定位点击事件穿透,怎么阻止?
4162浏览 • 1回复 待解决
HarmonyOS 如何把Image控件的Y值与状态栏对齐
36浏览 • 1回复 待解决
Hyperlink的onTouch预览报错
1997浏览 • 1回复 待解决
当父组件绑定了onTouch,子组件绑定了onClick,点击子组件如何阻止冒泡传递
557浏览 • 1回复 待解决
HarmonyOS ArkUI框架内,可以不改变组件大小的情况下,扩大组件的点击响应范围
258浏览 • 1回复 待解决
Web组件改变@State注释的url值不会加载新页面。
751浏览 • 1回复 待解决
HarmonyOS使用属性动画改变List组件内item的高度,其内容高度会突变
461浏览 • 1回复 待解决
HarmonyOS DeviceBasicInfo里的deviceId是否会随着设备卸载改变
360浏览 • 1回复 待解决
是否可以通过代码触发组件的点击事件
1819浏览 • 1回复 待解决
在ontouch的时候改变了state定义的pageIndex和textPage,组件里@Link定义的数据变了,但是没有重绘
1649浏览 • 1回复 待解决
父组件onTouch,子组件onClick如何做到只响应onClick,不响应onTouch
500浏览 • 1回复 待解决
权限申请的弹窗点击禁止之后,再次申请权限时无法弹出
834浏览 • 1回复 待解决
通过PolarDB的空间分析功能可以实现哪些效果?
2518浏览 • 1回复 待解决
如何让一个按钮点击执行耗时操作,执行完之后才能再次点击
774浏览 • 1回复 待解决
demo中用100+dy是初始高度加位移高度,所以会回到初始高度附近,建议换成 this.questionViewY = this.questionViewY+dy。
下面这个demo可以解决移动的问题,点击也不会返回原位: