什么是可以使用sw-600dp布局的最小屏幕尺寸?

3

我创建了layout-sw600dp/layout.xml并在设备A上看起来很好。但是在设备B上,此布局已经变形,效果很差。我想知道在最坏的情况下(正好是600dp宽度的屏幕),我的布局是什么样子的。

我想创建一个具有该屏幕大小的模拟器,以确保我的布局在sw-600dp+手机上表现良好。你知道它的尺寸是多少吗?

此外,如果您能向我提供一个支持多个屏幕尺寸的现代方案,我将不胜感激,并会很高兴接受建议。

P.S. 我有着40多个按钮的相当复杂的布局。

1个回答

2
关于您关于 sw-600dp+:一款7英寸平板电脑所使用的仿真器类型的问题,简短的回答是:您可以在 这里 找到更多信息。在“sw-600dp”中,“sw” 是 “smallest width” 的缩写,意思是它只适用于具有 600dp(通常为 7 英寸平板电脑)的设备。
关于您如何确保您的应用程序在 “现代世界” 中看起来好的更详细的回答是:
与其试图弄清最坏情况是什么,您应该为 Android 支持的 每种不同的屏幕密度和设备类型设计布局。
低密度屏幕(ldpi)(约120dpi)的资源。 中等密度屏幕(mdpi)(基准屏幕密度为约160dpi)的资源。 高密度屏幕(hdpi)(约240dpi)的资源。 超高密度屏幕(xhdpi)(约320dpi)的资源。 极高密度屏幕(xxhdpi)(约480dpi)的资源。 超极高密度屏幕(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)用于超超高密度(xxhdpi) 192x192(4.0x)用于超超超高密度(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设备上正确的布局方式。
简而言之,请阅读支持多屏幕尺寸的Android文档

是的,我已经看过那些文档并阅读了所有内容,但仍有许多我不确定的未知领域。“600dp,通常是7英寸平板电脑。”- 你怎么知道呢? Android设备有大约20,000种。 - StayCool
文档中有说明。如果您点击第一个链接,它会带您到我在文档中找到信息的地方。 - BlackHatSamurai

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接