【问题标题】:Android 2.2 - screen resolutions and sizes issueAndroid 2.2 - 屏幕分辨率和尺寸问题
【发布时间】:2013-01-22 15:32:42
【问题描述】:

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

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

(1) 240px x 150px 用于 drawable-ldpi
(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文件夹可以解决图片可以自动缩放的问题。我看不到任何图像可以自动缩放。也许我错过了一些步骤。

请多多指教。

非常感谢。

【问题讨论】:

    标签: android


    【解决方案1】:

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

    屏幕大致可分为 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 级别。

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

    这是您可以使用的官方限定词表,在它们之间放置一个破折号:

    一般来说,我认为您只会使用平板电脑为横向模式进行设计,因此,您可以考虑仅使用这些并且:

    • 布局-ldpi
    • 布局-mdpi
    • 布局-hdpi
    • 布局-xhdpi
    • 布局大
    • 大地布局
    • layout-xlarge
    • layout-xlarge-land

    对于你的drawables:

    • drawable-ldpi
    • drawable-mdpi
    • drawable-hdpi
    • drawable-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,大屏幕尺寸)

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

    希望这些信息对您有所帮助。

    【讨论】:

    • 您能否提供准确的文件夹命名和屏幕尺寸?
    • @Eugen ,上面的示例正是您命名文件夹的方式。
    猜你喜欢
    • 2011-11-15
    • 1970-01-01
    • 1970-01-01
    • 2012-10-06
    • 2012-06-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多