关于支持不同屏幕尺寸的理解

时间:2017-01-03 14:24:15

标签: android

我提到了一个网站,知道如何创建不同的布局文件夹以支持不同的屏幕尺寸。 http://wptrafficanalyzer.in/blog/different-layouts-for-different-screen-sizes-in-android/

在上述链接中声明如下:

res/layout-sw320dp : Devices with a smallest screen width which is greater than 320dp will make use the layouts defined in this folder

res/layout-sw480dp: Devices with a smallest screen width which is greater than 480dp will make use the layouts defined in this folder

我的问题是,如果有一个屏幕宽度为500dp的设备,例如,哪个文件夹将使用'res / layout-sw320dp'或'res / layout-sw480dp'?

2 个答案:

答案 0 :(得分:3)

official documentation下为不同的屏幕尺寸提供不同的布局,您可以阅读:

  

默认情况下,Android调整应用程序布局的大小以适应当前的大小   设备屏幕。在大多数情况下,这很好。在其他情况下,您的UI   可能看起来不太好,可能需要针对不同的屏幕进行调整   大小。例如,在较大的屏幕上,您可能想要调整   一些元素的位置和大小,以利用额外的   屏幕空间,或在较小的屏幕上,您可能需要调整大小   所以一切都可以放在屏幕上。

     

配置限定符   你可以用来提供特定尺寸的资源小,正常,   大,和xlarge。例如,超大屏幕的布局   应该进入layout-xlarge /.

     

从Android 3.2开始(API级别   13),不推荐使用上述尺寸组,您应该使用   swdp配置限定符,用于定义可用的最小值   布局资源所需的宽度。例如,如果你的   多窗格平板电脑布局需要至少600dp的屏幕宽度   应该将它放在layout-sw600dp /.

强调我的。

并在使用新尺寸限定符下进一步向下:

  

例如,如果您的布局要求其最小尺寸为   屏幕区域始终至少600 dp,然后你可以使用它   限定符来创建布局资源res / layout-sw600dp /。的的   系统将仅在最小维度时使用这些资源   可用屏幕至少为600dp ,无论是否为600dp   side是用户感知的高度或宽度。

强调我的。

这意味着如果你有一个sw320dp和一个sw480dp文件夹,屏幕宽度为500dp的设备将使用sw480dp文件夹。

屏幕宽度为479dp的设备将使用sw320dp文件夹。

答案 1 :(得分:0)

为什么不阅读official documentation

在示例中,您可以看到:

  

对于您希望进一步自定义UI以区分尺寸(例如7“和10”平板电脑)的其他情况,您可以定义其他最小宽度布局:

     

res / layout / main_activity.xml#适用于手机(可用宽度小于600dp)

     

res / layout-sw600dp / main_activity.xml#适用于7英寸平板电脑(600dp宽大)

     

res / layout-sw720dp / main_activity.xml#适用于10英寸平板电脑(720dp宽大)

通过此,您可以清楚地看到超过720dp的设备将不会使用600dp文件。

因此,在您的示例中,答案将是“res / layout-sw480dp”文件夹。