我正在为我的游戏放大图形,以便在更高密度的设备上更好地显示。我创建了更高的dpi作品,并将其添加到正确的位置(res/layout/drawable hdpi)。我在清单中添加了以下内容:
<supports-screens
android:smallScreens="false"
android:normalScreens="true"
android:largeScreens="true"
android:anyDensity="true" />
而且效果很好…除了一个图像,我忘记了高档,被拉从可拉伸的MDPI。我放大了图像,将其放入可拉伸HDPI并重新启动。现在游戏只从mdpi中提取图像。
我可以用git验证我对代码库所做的唯一更改是添加新的图像文件。为了排除故障,我尝试删除添加的图像并将git repo重置为工作时的状态。在这两种情况下,它仍然总是从mdpi加载。这使我相信这可能是仿真器的问题。我在我的车上用上网本开发这个程序,这有时会让我在模拟器上遇到问题(通常需要一个小时左右的时间启动,在a to m上运行非常、非常缓慢)。
有人知道什么可能阻止游戏从hdpi中退出吗?
编辑
经过大量的故障排除后,我仍然无法解决这个问题。似乎我的应用程序正在兼容模式下运行。它没有显示“邮票”大小,而是使用整个wvga800屏幕;但是getdisplaymetrics()。density返回1.0。模拟器声明它设置为高(240)dpi,所以我假设密度应该大于1.0。
随机数据点:将drawable hdpi目录更改为drawable large将导致加载更大的图像。在这种情况下,getdisplaymetrics().density仍然是1.0,因此我无法执行正确的px->dp转换。
最佳答案
res/layout/drawable hdpi不是正确的位置。res/drawable hdpi是正确的位置。
关于android - hdpi Assets 不再加载,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3379261/