public boolean ontouch(VIEw v,MotionEvent event) { ImageVIEw vIEw = (ImageVIEw) v; float x=0; float y=0; switch (event.getAction()) { case MotionEvent.ACTION_DOWN: break; case MotionEvent.ACTION_UP: break; case MotionEvent.ACTION_MOVE: x=event.getX(); y=event.getY(); System.out.println("x= "+x+" y="+y); int wIDth = 100,height = 100; lp = new absoluteLayout.LayoutParams(wIDth,height,(int) (x),(int) (y)); break; } mLayout.updateVIEwLayout(vIEw,lp); return true; }
这是我的代码.印刷输出是:
01-17 10:31:11.721: I/System.out(3983): x= 71.0 y=91.001-17 10:31:11.746: I/System.out(3983): x= 102.0 y=24.001-17 10:31:11.776: I/System.out(3983): x= 72.0 y=91.001-17 10:31:11.806: I/System.out(3983): x= 103.0 y=24.001-17 10:31:11.826: I/System.out(3983): x= 73.0 y=91.001-17 10:31:11.851: I/System.out(3983): x= 104.0 y=24.001-17 10:31:11.871: I/System.out(3983): x= 74.0 y=91.001-17 10:31:11.896: I/System.out(3983): x= 105.0 y=24.001-17 10:31:11.921: I/System.out(3983): x= 75.0 y=91.001-17 10:31:11.941: I/System.out(3983): x= 107.0 y=24.001-17 10:31:11.957: I/System.out(3983): x= 76.0 y=90.001-17 10:31:11.976: I/System.out(3983): x= 109.0 y=24.001-17 10:31:11.996: I/System.out(3983): x= 77.0 y=90.001-17 10:31:12.026: I/System.out(3983): x= 110.0 y=24.001-17 10:31:12.056: I/System.out(3983): x= 78.0 y=90.001-17 10:31:12.101: I/System.out(3983): x= 111.0 y=24.001-17 10:31:12.131: I/System.out(3983): x= 79.0 y=89.001-17 10:31:12.186: I/System.out(3983): x= 112.0 y=24.001-17 10:31:12.231: I/System.out(3983): x= 80.0 y=89.001-17 10:31:12.276: I/System.out(3983): x= 113.0 y=24.001-17 10:31:12.296: I/System.out(3983): x= 80.0 y=88.001-17 10:31:12.316: I/System.out(3983): x= 114.0 y=24.001-17 10:31:12.336: I/System.out(3983): x= 81.0 y=88.0
替代点是正确的.但它是如何发生的?我怎么解决这个问题?
解决方法 如果你检查这个 question的答案,他说视图可能有一个内置的触摸事件,可能会干扰你的触摸事件.检查您的视图是否有. 总结以上是内存溢出为你收集整理的android – 没有在onTouch中获得正确的x y值全部内容,希望文章能够帮你解决android – 没有在onTouch中获得正确的x y值所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)