我试图简单地在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