在Android模拟器上模拟320 dpi的密度

时间:2011-01-25 09:46:44

标签: android emulation archos

我们正试图在Android 2.3中模拟新密度为320 dpi的设备 - 比如Archos 101, 我们似乎无法定义具有这种密度的仿真器, 即使在下载了最新的2.3 sdk之后。

我真的很感激关于这一点的一些想法:)

非常感谢!

4 个答案:

答案 0 :(得分:28)

这很简单。

修改avd配置文件中的属性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

BTW我的Android SDK工具版本是25.2.5。

答案 1 :(得分:6)

在AVD管理器中,如果选择内置皮肤,则忽略抽象LCD密度,并按照此处所述设置密度:

模拟器皮肤(来自http://developer.android.com/tools/revisions/platforms.html

可下载平台包括以下模拟器外观:

  • QVGA(240x320,低密度,小屏幕)
  • WQVGA400(240x400,低密度,普通屏幕)
  • WQVGA432(240x432,低密度,普通屏幕)
  • HVGA(320x480,中密度,普通屏幕)
  • WVGA800(480x800,高密度,普通屏幕)
  • WVGA854(480x854高密度,普通屏幕)
  • WXGA720(1280x720,超高密度,普通屏幕)
  • WSVGA(1024x600,中密度,大屏幕)
  • WXGA800-7in(1280x800,高密度,大屏幕)新
  • WXGA800(1280x800,中密度,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();
    }

答案 2 :(得分: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。您可以点击该输入字段右侧的问号,让计算器根据您的显示器大小为您计算。

答案 3 :(得分:2)

根据我的理解,Android会对屏幕尺寸和密度进行分类,因此我认为它将240dpi视为320dpi,即高密度。还有一个额外的高密度选项。我在Android开发人员参考中找到了这些信息,请参阅http://developer.android.com/guide/topics/fundamentals.html和底部的部分,称为声明应用程序要求。我可能完全错了,但认为值得大喊。