我有一个简单的Android应用程序,应该在用户触摸时在WebView中绘制圆圈。这很简单。通过使用OnGestureListener和一个由e.getX()/ Y和WebView的getScrollX()和getScale()组成的正确公式,我可以在触摸点处绘制一个圆圈。
但是,在WebView上方添加TextView和Button时会出现问题。这些为getX和getY值创建了一个偏移量(实际上,只是getY():D)。因此,应用程序绘制的圆圈低于所需的圆圈。删除此偏移量的最佳方法是什么?或者,获取WebView实际位置的最佳方法是什么(无论周围的UI如何)?
我在考虑简单地减去一些常数值,但是由于屏幕尺寸,密度和使用的Android版本(以及文本大小等)的种类繁多,这对于所有设备都无法解决我的问题。 / p>
答案 0 :(得分:1)
您可以尝试使用Textview和Button
的减法高度int heightofTextView=yourTextView.getLayoutParams().height;
int heightofButton=yourButtonView.getLayoutParams().height;
int TouchYofWebview=webview.getY();
int orignalY = TouchYofWebview - (heightofTextView+heightofButton);