Android版本是2.2。并且应用不支持drawable-xhdpi
drawable-xlarge
文件夹。但是,当我从不同的手机处理不同的屏幕尺寸时,我遇到了很多问题。
第一个问题是我想知道android会从drawable-ldpi, drawable-mdpi, drawable-hdpi
文件夹中加载正确图像的情况是什么?每个文件夹中都有一个图像(drawable-ldpi,drawable-mdpi,drawable-hdpi)。
(1)240px x 150px for drawable-ldpi
(2)320px x 200px for drawable-mdpi
(3)480px x 300px for drawable-hdpi
但是如果输出设备宽度屏幕为480px,为什么我看不到正确的图像?输出设备仅显示320px宽度的图像。不是480px图像。问题似乎是我错过了什么?
然后,我将所有可绘制文件夹重命名为drawable-small,drawable-normal,drawable-large。它的工作原理是drawable-large可以显示480px宽度的图像。如果我这样做会好吗?
第二个问题是一些三星设备有不同的屏幕分辨率,我想知道如何支持这些屏幕分辨率,因为我想让800px宽度的屏幕显示800px宽度图像,900px宽度屏幕显示900px宽度图像?任何方法可以做不同的屏幕分辨率?很多人说文件夹drawable-xhdpi可以解决图像可以自动缩放的问题。我看不到任何图像可以自动缩放。也许我错过了一些步骤。
请告知。
非常感谢。
答案 0 :(得分:6)
我会尽力让你更深入地了解这一点。
屏幕可分为4个不同的类别:
这些天你也得到了xxhdpi ......
低密度= ldpi(120dpi)
中密度= mdpi(160dpi)
高密度= hdpi(240dpi)
extra-high-density = xhdpi(320dpi)
http://developer.android.com/images/screens_support/screens-ranges.png
h ttp://en.wikipedia.org/wiki/List_of_displays_by_pixel_density
h ttp://checkscreensize.appspot.com/listdevice.jsp
您将始终设计具有多个布局/绘图的应用程序以支持不同的设备。不只是三星设备,但大多数品牌都有不同的设备,具有不同的像素密度和分辨率。
简而言之,通过提供多个资源,android将选择最适合当前设备的资源,如果在某个布局或可绘制文件夹中找不到,则只需使用下一个最佳布局/资源名。
请注意,这是为了避免拉伸和不正确缩放drawable和布局。
在您的清单文件中。
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"
android:anyDensity="true" />
以下是您可以使用的官方合格表,在它们之间加上划线:
和你的drawables:
设计这些设备可确保应用程序在大多数其他设备上都能正常运行。
希望这些信息有所帮助。