我正在我的 Galaxy S 设备上开发和测试一个 android 应用程序,它应该是(根据 android 开发网站)具有 HDPI(233dpi)的普通尺寸屏幕(4 英寸)。
出于某种原因,我放入 drawable-mdpi 中的可绘制对象被显示,而不是 drawable-hdpi 中的那些。出于某种原因,该设备似乎“认为”它是一个 mdpi 设备......
有任何想法吗?
好的,直到我在这里找到解决方案之前不久,所以这里是其他人如何可能会遇到同样的问题。
在我的 android manifest 中,我没有提到使用该元素的 min sdk 版本。默认值为1,这意味着应用程序表示它支持所有版本,包括旧的 1.x 版本。
在屏幕支持文章 ( http://developer.android.com/guide/practices/screens_support.html ) 中,我注意到一个相当小的句子:“为 Android 1.5 或更早版本编写的所有应用程序(根据定义)都是为基线 HVGA 设计的T-Mobile G1 和类似设备上使用的屏幕,尺寸正常,密度 mdpi。 "
似乎由于我没有提到 min sdk version 的值,我的设备将应用程序视为与旧版本兼容,并忽略了整个屏幕范围的支持!然后它默认为中等屏幕和 mdpi 资源。
去搞清楚..
这里有一些想法。你能记录屏幕密度的输出吗
http://developer.android.com/guide/practices/screens_support.html
http://developer.android.com/reference/android/util/DisplayMetrics.html
记录 displayMetrics 的内容,这可以帮助您找出所使用的显示器是否有问题。为了兼容性,android 可能会以较低的 dpi 运行。