2011-01-25 135 views
7

我們試圖在Android 2.3 - (如Archos 101, )中模擬新密度爲320 dpi的設備,我們似乎無法用即使在下載最新的2.3 sdk之後,也可以使用這種密度,即 。在Android模擬器上模擬320 dpi的密度

我真的很感激這個:) :)

非常感謝!

回答

3

您可以隨時爲虛擬設備定義自定義密度和分辨率。

如果您使用的是Eclipse去Window - Android SDK and AVD Manager,有打New按鈕,輸入一個名稱,然後選擇SDK版本,打Resolution選項倒在Skin部分,設置所需的分辨率。在Hardware部分,將默認選項ABstracted LCD Density編輯爲所需值,然後按Create AVD按鈕。

當您點擊AVD管理器中的Start按鈕時,您會看到一個彈出窗口,您可以在其中選擇Scale display to real size。在那裏你必須設置真實的屏幕大小和你的顯示器的dpi。您可以在該輸入欄的右側打上問號,然後讓計算器根據您的顯示器尺寸爲您計算。

+0

謝謝你的迴應。可悲的是,我們已經嘗試在AVD管理器內設置密度爲320dpi,但在模擬器中,它設置爲240dpi。我認爲我在某處讀到了這個問題,我希望可能有解決方法或可能的解決辦法,因爲這是一個相當新的問題。 – 2011-01-25 10:24:56

+0

有趣。我還沒有讀過這個問題。你可以請嘗試找到併發布該鏈接? – 2011-01-25 10:51:02

2

從我的理解Android分類的屏幕大小和密度,所以我認爲它對待240dpi相同的320dpi,即它的密度很高。還有另外一個選項是超高密度。我在Android開發人員參考信息中找到了這些信息,請參閱http://developer.android.com/guide/topics/fundamentals.html以及底部稱爲聲明應用程序需求的部分。我可能完全錯誤,但認爲它值得大聲呼喊。

6

在AVD管理器,如果你選擇了一個內置的皮膚那麼抽象液晶密度被忽略,這將這裏描述設置密度:

仿真器樣機(從http://developer.android.com/tools/revisions/platforms.html

的下載平臺包括以下模擬器外觀:

  • QVGA(240×320,密度低,小屏幕)
  • WQVGA400(240X400,密度低,正常屏幕)
  • WQVGA432(240x432,密度低,正常屏幕)
  • HVGA(小320x480,中密度,正常屏幕)
  • WVGA800(480×800,高密度,正常屏幕)
  • WVGA854(爲480x854高密度,正常屏幕)
  • WXGA720(1280×720,超高密度,正常屏幕)
  • WSVGA(1024×600,中密度,大屏幕)
  • WXGA800-7in(1280×800,高密度,大屏幕)新
  • WXGA800(1 280x800,中等密度,xlarge屏幕)

如果您想設置自己的抽象LCD密度,您需要通過單擊分辨率單選按鈕來手動定義您自己的分辨率。

下面是一些代碼,你可以用它來測試:

DisplayMetrics metrics = new DisplayMetrics(); 
getWindowManager().getDefaultDisplay().getMetrics(metrics); 
int density = metrics.densityDpi; 
    if (density == DisplayMetrics.DENSITY_HIGH) { 
     Toast.makeText(this, "DENSITY_HIGH... Density is " + String.valueOf(density), Toast.LENGTH_LONG).show(); 
    } 
    else if (density == DisplayMetrics.DENSITY_MEDIUM) { 
     Toast.makeText(this, "DENSITY_MEDIUM... Density is " + String.valueOf(density), Toast.LENGTH_LONG).show(); 
    } 
    else if (density == DisplayMetrics.DENSITY_LOW) { 
     Toast.makeText(this, "DENSITY_LOW... Density is " + String.valueOf(density), Toast.LENGTH_LONG).show(); 
    } 
    else { 
     Toast.makeText(this, "Density is neither HIGH, MEDIUM OR LOW. Density is " + String.valueOf(density), Toast.LENGTH_LONG).show(); 
    } 
6

這是很簡單的。

在avd config文件中修改屬性hw.lcd.density=320/Users/yourUserName/.android/avd/CustomDevice_API_19.avd/config.ini,然後重新啓動虛擬設備。我已經測試過了,它適用於我!

WARNNING: 請務必設定正確的濃度,否則你會收到一個錯誤:qemu: available lcd densities are: 120, 160, 213, 240, 280, 320, 360, 400, 420, 480, 560, 640

順便說一句我的Android SDK工具的版本是25.2.5。