我的屏幕工作方式有问题。我可以通过以下方式获得屏幕的高度:
getWindowManager().getDefaultDisplay().getHeight(); // == 800
当我按下屏幕时,我得到一个特定值:
public boolean onTouch(View v, MotionEvent event){
........
........
(int) (event.getY(pointerIndex)); // == 701
我遇到的问题是我在Y轴上获得的最多是700 !!!
有什么建议吗?
如果您需要更多信息,请询问。
答案 0 :(得分:1)
好的,我在那里挖了很多但我找到了解决办法。谢谢这个帖子:
Motionevent.getX和getY
基本上,触摸屏完全独立于屏幕上的像素。因此,例如,我所获得的高度实际上是像素
getWindowManager().getDefaultDisplay().getHeight(); // == 800
我从视图中获得了触摸屏的实际高度
public boolean onTouch(View v, MotionEvent event){
v.getHeight() // == 724
v.getWidth() // == 480
希望能帮助任何可怜的失去灵魂!!
答案 1 :(得分:0)
我知道问题的解决方案。它是由标题和标题栏引起的。它们在display.getHeight()的情况下计算。你可以删除它们,这绝对取决于你。