2011-12-27 69 views
0

我現在用的畫布/油漆類的編碼這個小遊戲給我的Galaxy Nexus。我也很難編碼繪製東西的座標值。寫在Android多種分辨率?

當我告訴一個圖像顯示在500,760和我的設備上它的正確,我假設在一個較小的分辨率設備上的結果會不一樣會發生什麼?

我如何去確保它看起來在所有決議案的一樣嗎?

回答

0

應使用密度無關的像素來定義可繪:DP 對於圖像密度使用特定的資源,把他們在適當的資源文件夾。

+0

確定,所以,我發現這個 – 2011-12-27 10:43:36

+0

公共靜態INT DP(int值){ \t \t返回(INT)(值* PIXEL_DENSITY + 0.5F); } 不知道什麼0.5F是。無論如何,這工作有點,但它稍微偏離。例如,如果我在產卵我的設備尺寸(Galaxy Nexus的720P @)結束的東西像這樣 \t公共布爾onTouch(查看視圖,MotionEvent事件){ \t \t lastPoint =新的點(); \t \t lastPoint.x =(int)(float)(event.getX()/ PIXEL_DENSITY); \t \t lastPoint.y =(int)(float)(event.getY()/ PIXEL_DENSITY); \t \t return true; \t} – 2011-12-27 10:47:49

0

你不應該硬編碼像素的座標。您可以使用以下方法:

getApplicationContext().getDisplayMetrics.density; //值1.00喜歡或0.75等。

如果您在像素座標乘以這個,你會得到更高的更高密度的屏幕座標值(實際上是一樣的DP )。