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 position设置x,y值的更改,没有平移动画 
747浏览  • 1回复 待解决
HarmonyOS 组件配置offset属性后,组件的onAreaChange中的值,position不正确 
1921浏览  • 1回复 待解决
HarmonyOS onTouch中,按压值是pressure吗?值范围是多少 
1022浏览  • 1回复 待解决
Tablist 点击超出部分的tab触发点击事件 但是整个列表会自动跳回到最前面 请问怎么解决? 
6124浏览  • 1回复 待解决
HarmonyOS如何获取inputText的X,Y的值 
1159浏览  • 1回复 待解决
HarmonyOS ArkTS的class中如何动态的改变值 
862浏览  • 1回复 待解决
HarmonyOS 父组件中的builder里面的怎么根据父组件的@state的值来改变。 
1101浏览  • 1回复 待解决
#鸿蒙通关秘籍# 在HarmonyOS NEXT中如何通过onTouch事件阻止触摸事件冒泡至父组件? 
985浏览  • 0回复 待解决
askTs的progress组件的值改变时如何设置过度动画? 
3768浏览  • 1回复 待解决
HarmonyOS toggle点击后,状态变化的回调会跟随开关值变化 
2158浏览  • 1回复 待解决
父组中变量值改变,如何让子组件中的值跟着一起变化? 
1665浏览  • 2回复 待解决
HarmonyOS 自定义Dialog中,进行系统返回操作时,会先关闭Dialog,再次点击才会退出当前页面 
1309浏览  • 1回复 待解决
HarmonyOS 子组件如何拿到父组件的position 
739浏览  • 1回复 待解决
eTS position定位点击事件穿透,怎么阻止? 
5276浏览  • 1回复 待解决
#鸿蒙通关秘籍# 如何使用Position和onTouch实现HarmonyOS首页下拉进入二楼的效果? 
729浏览  • 0回复 待解决
点击拒接按钮后无法再次来电 
2708浏览  • 1回复 待解决
HarmonyOS 如何把Image控件的Y值与状态栏对齐 
860浏览  • 1回复 待解决
Hyperlink的onTouch预览报错 
3144浏览  • 1回复 待解决
当父组件绑定了onTouch,子组件绑定了onClick,点击子组件如何阻止冒泡传递 
1341浏览  • 1回复 待解决
HarmonyOS 应用通过StartAbility的方式拉起了三方支付应用,在三方支付应用点击取消无法跳回当前App 
1429浏览  • 1回复 待解决
HarmonyOS web再次展示时,会闪一下 
1140浏览  • 1回复 待解决
HarmonyOS ArkUI框架内,可以不改变组件大小的情况下,扩大组件的点击响应范围 
1094浏览  • 1回复 待解决
HarmonyOS使用属性动画改变List组件内item的高度,其内容高度会突变 
1418浏览  • 1回复 待解决
Web组件改变@State注释的url值不会加载新页面。 
1720浏览  • 1回复 待解决
是否可以通过代码触发组件的点击事件 
2996浏览  • 1回复 待解决





















demo中用100+dy是初始高度加位移高度,所以会回到初始高度附近,建议换成 this.questionViewY = this.questionViewY+dy。
下面这个demo可以解决移动的问题,点击也不会返回原位: