2011-06-13 152 views
1

我是Android的新手,並且有重新編寫觸摸輸入的問題(使用OnTouchUp/Down/Move)。 Android使用什麼座標系?我得到的值從0,0(左上角)到320,530(右下角)。我選擇的模擬器的分辨率爲480x800 ...所以沒有任何意義...Android觸摸輸入:座標?

你能給我一個提示嗎? 謝謝!

回答

3

發生這種情況是因爲您尚未指定應用程序可以處理不同密度的屏幕。這就是爲什麼Android會自動擴展所有功能的原因,但是應用程序可以在虛擬屏幕上運行,而不是真正的屏幕。

要讓事情看起來像樣,您必須在AndroidManifest.xml中指定android:anyDensity="true",或將minSdkVersiontargetSdkVersion設置爲「4」或更高。後者會自動讓Android假設android:anyDensity設置爲「true」。

您可以在文章Supporting Multiple Screens中閱讀有關屏幕相關問題的更多信息。

0

要從鏈接的頁面引用:

密度獨立像素(DP)
定義UI佈局時應該使用 ,來表達一個 佈局尺寸或位置的虛擬像素單元密度無關的方式。
與密度無關的像素爲 ,相當於160dpi屏幕上的一個物理像素,這是系統爲 「中等」密度屏幕假設的基線密度。在運行時,系統根據所使用的屏幕的實際密度,透明地處理dp單元的任何 縮放比例(如有必要), 。單位到屏幕像素的轉換很簡單:px = dp *(dpi/160)。例如,在一個 240 dpi屏幕上,1個dp等於1.5個物理像素。定義 應用程序的用戶界面時,應始終使用 dp單位,以確保在具有不同密度的屏幕上顯示您的用戶界面正確 。