android开发,layout缩放组件触发位置不变
android开发,layout通过重写dispatchDraw方法通过手势实现缩放,但是缩放后layout布局上按钮捕获事件的位置一直是没缩放前的,该怎么解决啊...
android开发,layout通过重写dispatchDraw方法通过手势实现缩放,但是缩放后layout布局上按钮捕获事件的位置一直是没缩放前的,该怎么解决啊
展开
展开全部
我觉得下面两种方法可以解决你的问题:
1、手势缩放不要在dispatchDraw中实现,这个方法只是你手动改变并draw child,而你的viewgroup没有重新measure和layout,相当于你的child的坐标没有改变,所以dispatch Touch事件时,还是dispatch到child原来的坐标处
2、重载dispatchTouch方法,把dispatch的坐标也按照你scale的比例进行scale,然后dispatch给child
建议你使用方法一,因为这样最合理,如果你用方法二,当你调用child的getX等获取坐标的方法时还是会用问题
1、手势缩放不要在dispatchDraw中实现,这个方法只是你手动改变并draw child,而你的viewgroup没有重新measure和layout,相当于你的child的坐标没有改变,所以dispatch Touch事件时,还是dispatch到child原来的坐标处
2、重载dispatchTouch方法,把dispatch的坐标也按照你scale的比例进行scale,然后dispatch给child
建议你使用方法一,因为这样最合理,如果你用方法二,当你调用child的getX等获取坐标的方法时还是会用问题
追问
第一种方法,你只是告诉我原因,没说应该怎么实现布局的缩放啊,能不能给显示代码,或者demo,问题原因说的很对。谢谢
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询