2012-12-13 76 views
0

我有一個OpenGL應用程序需要以設置的屏幕尺寸(本例中爲800x480)運行。 我用命令:Android - 使用setFixedSize()獲取觸摸事件的位置()

this.getHolder().setFixedSize(800, 480) 

在我GLSurfaceView構造函數來做到這一點。這意味着在屏幕較大的設備上,我的應用仍佔用整個屏幕。

我的結果是,在視圖onTouchEvent()中,getX()getY()方法不再返回從(0,0)縮放到(800,480)的值。

我試着根據真實的屏幕尺寸將比例因子應用到getX()值,但一直無法準確確定它應該是什麼。

我該如何縮放getX()& getY()?我應該使用不同的方法將屏幕縮放到我想要的分辨率嗎?

回答

0

好的,我想我已經在這裏回答了我自己的問題。 更多的研究後,得到了窗口大小以:

Display display = ((WindowManager) context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay(); 
int w = display.getWidth(); 
int h = display.getHeight(); 

,並用它來縮放的getX()的getY()輸出不工作;我只需要忽略顯然不正確的值display.getWidth()返回。