Android 2.2 - 屏幕分辨率和大小问题

时间:2013-01-22 15:32:42

标签: android

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可以解决图像可以自动缩放的问题。我看不到任何图像可以自动缩放。也许我错过了一些步骤。

请告知。

非常感谢。

1 个答案:

答案 0 :(得分:6)

我会尽力让你更深入地了解这一点。

屏幕可分为4个不同的类别:

  1. 低密度
  2. 中密度(基线)
  3. 高密度
  4. 超高密度
  5. 这些天你也得到了xxhdpi ......

    • 低密度= ldpi(120dpi)

    • 中密度= mdpi(160dpi)

    • 高密度= hdpi(240dpi)

    • extra-high-density = xhdpi(320dpi)

    另一个很好的例子来自android开发者页面:

    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" />
    
    • 为不同的屏幕尺寸提供不同的布局或绘图。

    现在,有多种方法可以做到这一点,并且某些方式取决于sdk级别。

    • Pre Android 3.2 / API 13,使用layout-small / normal / large / xlarge。
    • 在Android 3.2 / API 13之后,使用layout-hdpi或layout-sw600dp等。

    以下是您可以使用的官方合格表,在它们之间加上划线:

    一般来说,我认为你只会设计平板电脑的横向模式,因此,你可以考虑只使用这些和:

    • 布局LDPI
    • 布局MDPI
    • 布局HDPI
    • 布局xhdpi
    • 布局大
    • 布局大陆
    • 布局XLARGE
    • 布局XLARGE陆

    和你的drawables:

    • 抽拉-LDPI
    • 抽拉-MDPI
    • 抽拉-HDPI
    • 抽拉-xhdpi

    此外,默认情况下,我目前选择设计6种不同的设备,这些设备总体上最适合手机(4)和平板电脑(2)的配置文件ldpi,mdpi,hdpi,xhdpi:

    • 三星Galaxy S3(720x1280,xhdpi,普通屏幕尺寸)
    • 三星Galaxy S2(480x800,hdpi,普通屏幕尺寸)
    • 三星Galaxy Ace Plus(320x480,mdpi,普通屏幕尺寸)
    • 三星Galaxy Mini(240x320,ldpi,普通屏幕尺寸)
    • 三星Galaxy Tab 10.1(800x1280,mdpi,X-Large屏幕尺寸)
    • 三星Galaxy Tab 7.0(600x1024,hdpi,大屏幕尺寸)

    设计这些设备可确保应用程序在大多数其他设备上都能正常运行。

    希望这些信息有所帮助。

相关问题