0

安卓版本是2.2。并且应用程序不支持drawable-xhdpi文件drawable-xlarge夹。但是,当我处理来自不同手机的不同屏幕尺寸时,我遇到了很多问题。

第一个问题是我想知道android会从drawable-ldpi, drawable-mdpi, drawable-hdpi文件夹加载正确图像的情况是什么?每个文件夹中有一个图像(drawable-ldpi、drawable-mdpi、drawable-hdpi)。

(1) drawable-ldpi 为 240px x 150px
(2) drawable-mdpi 为 320px x 200px
(3) drawable-hdpi 为 480px x 300px

但是,如果输出设备宽度屏幕为 480 像素,为什么我看不到正确的图像?输出设备仅显示 320px 宽度的图像。不是 480 像素的图像。这个问题似乎是我错过了什么?

然后,我将所有可绘制文件夹重命名为drawable-small、drawable-normal、drawable-large。drawable-large 可以显示 480px 宽度的图像。如果我这样做会好吗?

第二个问题是一些三星设备有不同的屏幕分辨率,我想知道如何支持这些屏幕分辨率,因为我想让800px宽的屏幕显示800px宽的图像,900px宽的屏幕显示900px宽的图像?有什么方法可以做不同的屏幕分辨率?很多人说drawable-xhdpi文件夹可以解决图片可以自动缩放的问题。我看不到任何图像可以自动缩放。也许我错过了一些步骤。

好心提醒。

非常感谢。

4

1 回答 1

6

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

屏幕大致可分为 4 种不同的类别:

  1. 低密度
  2. 中等密度(基线)
  3. 高密度
  4. 超高密度

这些天你也得到了 xxhdpi ......

  • 低密度 = ldpi (120dpi)

  • 中等密度 = mdpi (160dpi)

  • 高密度 = hdpi (240dpi)

  • 超高密度 = 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 将选择最适合当前设备的正确资源,如果它在某个布局或可绘制文件夹中找不到一个,它将简单地使用具有该名称的下一个最佳布局/资源。

请注意,这是为了避免可绘制对象和布局的拉伸和不正确缩放。

如何支持多种布局?

在您的清单文件中。

<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"
android:anyDensity="true" />
  • 为不同的屏幕尺寸提供不同的布局或可绘制对象。

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

  • 在 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-land

和你的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,超大屏幕尺寸)
  • 三星 Galaxy Tab 7.0(600x1024,hdpi,大屏幕尺寸)

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

希望这些信息有所帮助。

于 2013-01-22T16:04:51.497 回答