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值的更改,没有平移动画
636浏览 • 1回复 待解决
HarmonyOS 组件配置offset属性后,组件的onAreaChange中的值,position不正确
1781浏览 • 1回复 待解决
HarmonyOS onTouch中,按压值是pressure吗?值范围是多少
946浏览 • 1回复 待解决
Tablist 点击超出部分的tab触发点击事件 但是整个列表会自动跳回到最前面 请问怎么解决?
6035浏览 • 1回复 待解决
HarmonyOS如何获取inputText的X,Y的值
1083浏览 • 1回复 待解决
HarmonyOS ArkTS的class中如何动态的改变值
788浏览 • 1回复 待解决
HarmonyOS 父组件中的builder里面的怎么根据父组件的@state的值来改变。
1016浏览 • 1回复 待解决
#鸿蒙通关秘籍# 在HarmonyOS NEXT中如何通过onTouch事件阻止触摸事件冒泡至父组件?
906浏览 • 0回复 待解决
askTs的progress组件的值改变时如何设置过度动画?
3522浏览 • 1回复 待解决
HarmonyOS 子组件如何拿到父组件的position
661浏览 • 1回复 待解决
HarmonyOS toggle点击后,状态变化的回调会跟随开关值变化
2041浏览 • 1回复 待解决
父组中变量值改变,如何让子组件中的值跟着一起变化?
1589浏览 • 2回复 待解决
HarmonyOS 自定义Dialog中,进行系统返回操作时,会先关闭Dialog,再次点击才会退出当前页面
1239浏览 • 1回复 待解决
HarmonyOS 如何把Image控件的Y值与状态栏对齐
764浏览 • 1回复 待解决
#鸿蒙通关秘籍# 如何使用Position和onTouch实现HarmonyOS首页下拉进入二楼的效果?
662浏览 • 0回复 待解决
点击拒接按钮后无法再次来电
2619浏览 • 1回复 待解决
eTS position定位点击事件穿透,怎么阻止?
5187浏览 • 1回复 待解决
Hyperlink的onTouch预览报错
3056浏览 • 1回复 待解决
HarmonyOS 应用通过StartAbility的方式拉起了三方支付应用,在三方支付应用点击取消无法跳回当前App
1258浏览 • 1回复 待解决
当父组件绑定了onTouch,子组件绑定了onClick,点击子组件如何阻止冒泡传递
1269浏览 • 1回复 待解决
HarmonyOS web再次展示时,会闪一下
980浏览 • 1回复 待解决
HarmonyOS 页面间的路由通讯回调改变值
1011浏览 • 1回复 待解决
Web组件改变@State注释的url值不会加载新页面。
1626浏览 • 1回复 待解决
是否可以通过代码触发组件的点击事件
2879浏览 • 1回复 待解决
HarmonyOS TextArea在onDidDelete中改变值时,双向绑定不起作用
862浏览 • 1回复 待解决
demo中用100+dy是初始高度加位移高度,所以会回到初始高度附近,建议换成 this.questionViewY = this.questionViewY+dy。
下面这个demo可以解决移动的问题,点击也不会返回原位: