我試圖簡單地在QVGA設置下測試我的應用程序,但是當我運行我創建的QVGA模擬器時,95%的時間加載了與HVGA相關的資源。我有我的應用程序中包含的自定義位圖,所以對我來說能夠驗證外觀至關重要。Android模擬器加載密度錯誤
要查看的密度被視爲,我添加以下代碼,並顯示在吐司結果:
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
// will either be DENSITY_LOW, DENSITY_MEDIUM or DENSITY_HIGH
int dpiClassification = dm.densityDpi;
// these will return the actual dpi horizontally and vertically
float xDpi = dm.xdpi;
float yDpi = dm.ydpi;
Output was -> DensityClass = 160 - xDpi = 164.75 - yDpi = 165.88
也許我只是誤解,但是對於初學者來說,應該不是密度類有120的值?
我創建的AVD管理器QVGA仿真器具有以下設置:
Target: 1.6 level 4
Hardware Property: Abstracted LCD Density = 120 (verified in config.ini file)
在我的清單文件,我增加了以下內容:
<supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:anyDensity="true"/>
在我的res文件夾,我有:
drawable
drawable-hdpi
drawable-ldpi
drawable-mdpi
有人能告訴我爲什麼模擬器不加載低密度繪圖?這個QVGA仿真器中的drawable與HVGA仿真器中的drawable完全相同(不是我想要的),是的,我在將它們添加到LDPI文件夾(大幅縮小)之前縮小了圖片大小。對於沒有明顯的理由,偶爾模擬器實際上將正確地加載和一切正常顯示,但同樣,這只是發生的時間約爲5%,沒有明顯的理由爲什麼。
我希望這對我來說很簡單。不管我做了什麼,我很少得到期望的結果。謝謝雖然鏈接,這是一個有點欣慰地知道,有這麼幾個電話,但我仍然討厭的事實,即使是一個人可能與我的應用程序的一個不愉快的經歷,只是因爲我沒有能力徹底測試。 – Michael 2010-11-09 00:18:47