【问题标题】:What is the smallest possible screen size that will use sw-600dp layout?使用 sw-600dp 布局的最小屏幕尺寸是多少?
【发布时间】:2020-11-16 09:22:46
【问题描述】:

我创建了 layout-sw600dp/layout.xml,它在设备 A 上看起来很棒。但是在设备 B 上,这个布局已经融化并且看起来很糟糕。我想知道我的布局在最坏的情况下看起来如何(正好是 600dp 宽度的屏幕)

我想创建具有该屏幕尺寸的模拟器,因此我将 100% 确保我的布局在 sw-600dp+ 手机上看起来不错。你知道它的尺寸吗?

另外,如果您能给我建议如何在现代世界中支持多种屏幕尺寸,我将不胜感激。

附:我的布局非常困难,有 40 多个按钮

【问题讨论】:

    标签: android layout screen-size pixel-density


    【解决方案1】:

    关于您要用于 sw-600dp+ 的模拟器类型的问题的简短回答:7" 平板电脑。您可以找到更多信息 heresw-600dp 中的 swsmallest width限定符。这意味着它仅适用于 600dp 的设备,通常是 7" 平板电脑。

    关于如何确保您的应用在“现代世界”中看起来不错的问题,较长的答案是:

    您应该为Android supports 的每种不同的屏幕密度和设备类型设计布局,而不是试图弄清楚什么是“最坏的情况”:

    • 用于低密度 (ldpi) 屏幕 (~120dpi) 的 ldpi 资源。
    • mdpi 用于中等密度 (mdpi) 屏幕 (~160dpi) 的资源。 (这是基线密度。)
    • 用于高密度 (hdpi) 屏幕 (~240dpi) 的 hdpi 资源。
    • 用于超高密度 (xhdpi) 屏幕 (~320dpi) 的 xhdpi 资源。
    • 用于超高密度 (xxhdpi) 屏幕 (~480dpi) 的 xxhdpi 资源。
    • 用于超高密度 (xxxhdpi) 用途 (~640dpi) 的 xxxhdpi 资源。

    根据Android docs

    要为不同密度创建替代位图可绘制对象,您 应遵循六个主要之间的 3:4:6:8:12:16 缩放比例 密度。例如,如果您有一个 48x48 的可绘制位图 中密度屏幕的像素,所有不同的尺寸应该是:

    36x36 (0.75x) 用于低密度 (ldpi) 48x48(1.0x 基线)用于 中密度 (mdpi) 72x72 (1.5x) 用于高密度 (hdpi) 96x96 (2.0x) 用于超高密度 (xhdpi) 144x144 (3.0x) 用于 超超高密度 (xxhdpi) 192x192 (4.0x) extra-extra-extra-high-density (xxxhdpi) 然后,将生成的 res/ 和系统下相应子目录中的图像文件 将根据像素密度自动选择正确的 运行您的应用的设备:

    res/drawable-xxxhdpi/ awesome-image.png 可绘制-xxhdpi/ awesome-image.png 可绘制-xhdpi/ awesome-image.png 可绘制-hdpi/ awesome-image.png 可绘制-mdpi/ 真棒图片.png

    您可以为布局做同样的事情,为每个不同的维度创建一个特定的布局(确保将布局放在正确的目录中:layout-xhdpi、layout-mdpi 等)。这样做将允许设备根据用户使用的设备选择正确的图像/布局。

    如果您有 40 多个按钮布局,您将使用上述方法为每个布局创建按钮,然后为每个设备创建布局。这是一项乏味的工作,但它是在 Android 设备上进行布局的正确方法。

    TLDR;阅读Android documents around supporting multiple screen sizes

    【讨论】:

    • 是的,我已经看过该文档并阅读了所有内容,但仍有很多我不确定的黑暗角落>>“600dp,通常是7”平板电脑。” - 你好吗知道吗?大约有 2 万台 Android 设备。
    • 文件里说的。如果您单击第一个链接,它会将您带到我在文档中找到信息的位置。
    猜你喜欢
    • 1970-01-01
    • 2011-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多