繁体   English   中英

使用 sw-600dp 布局的最小屏幕尺寸是多少?

[英]What is the smallest possible screen size that will use sw-600dp layout?

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

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

此外,如果您能给我一个如何在现代世界中支持多种屏幕尺寸的建议,我将非常感激和高兴。

PS 我有 40 多个按钮的非常困难的布局

简短的回答你关于你使用SW-600dp的仿真器的类型问题+:7"平板电脑你可以找到更多信息。 这里的。 swsw-600dpsmallest width预选赛这意味着它是唯一的。表示用于 600dp 的设备,通常是 7" 平板电脑。

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

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

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

根据Android 文档

要为不同密度创建替代位图可绘制对象,您应该遵循六个主要密度之间的 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) for extra-extra-extra-high-density (xxhdpi) 192x192 (4.0x) for extra-extra-extra-high-density (xxxhdpi) 然后,将生成的图像文件放在 res/ 下的相应子目录中,然后系统将根据运行应用的设备的像素密度自动选择正确的:

res/ drawable-xxxhdpi/ awesome-image.png drawable-xxhdpi/ awesome-image.png drawable-xhdpi/ awesome-image.png drawable-hdpi/ awesome-image.png drawable-mdpi/ awesome-image.png

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

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

TLDR; 阅读有关 支持多种屏幕尺寸Android 文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM