我的屏幕工作方式出现问题。我可以通过以下方式获取屏幕的高度:

getWindowManager().getDefaultDisplay().getHeight(); // == 800


当我按下屏幕时,我得到一个特定的值:

public boolean onTouch(View v, MotionEvent event){
........
........
      (int) (event.getY(pointerIndex)); // == 701


我遇到的问题是我在Y轴上最多能得到的问题是700!

有什么建议吗?

如果您需要更多信息,请询问。

最佳答案

好的,我在附近闲逛了很多时间,但是找到了解决方案。谢谢这个线程:

Motionevent.getX和getY

基本上,触摸屏完全独立于屏幕上的像素。例如,在我得到的高度以上,实际上是像素

getWindowManager().getDefaultDisplay().getHeight(); // == 800


我从视图中获得了触摸屏的实际高度

public boolean onTouch(View v, MotionEvent event){
v.getHeight() // == 724
v.getWidth() // == 480


希望可以帮助任何可怜的迷路者!!

10-07 20:08