选择布局文件夹以支持所有设备

时间:2015-05-26 13:30:40

标签: android layout screen

我遇到了与某些设备的布局文件夹相关的问题。 所以起初我有layoutlayout-large文件夹。我在这些布局中只有3个xml文件用于布局。 layout文件夹包含使用Eclipse配置Galaxy Nexus 4.65的xml文件“(720x1280 xhdpi) layout-large文件夹包含使用Eclipse配置5.1“WVGA(800x480 mdpi)

的xml文件

我在小型三星Galaxy Youth 3.3“(320x480)上进行了测试,它正在使用layout文件夹......我对屏幕资源并不是很了解,我在google doc中读到它但直到现在我谷歌Nexus配置看起来很适合小屏幕,所以我选择它时对分辨率或屏幕尺寸没有足够的了解。不知何故,它非常适合我的银河青年。

对于较大的屏幕设备,我依赖于layout-large文件夹,因此我使用Galaxy Tab 7进行了测试。它也非常适合。 当我使用Galaxy Note 2和Galaxy Note 4进行测试时出现问题..(对于我没有测试的其他设备,因为我没有它们)。 Galaxy Note 2和Galaxy Note 4似乎使用layout文件夹而不是大文件夹(我确信它在我的layout-large中非常适合)。

我实际上希望320x480或更小的屏幕尺寸设备全部使用layout,任何屏幕较大的设备都应使用layout-large。怎么实现呢?

2 个答案:

答案 0 :(得分:0)

看这里:http://stefan222devel.blogspot.sk/2012/10/android-screen-densities-sizes.html 有关Android设备的屏幕大小和密度的更多信息

答案 1 :(得分:0)

您可以使用代码为特定的最小宽度设备选择您想要的布局.IN

的onCreate:

   Configuration config = getResources().getConfiguration();

    if (config.smallestScreenWidthDp >= 480) {

        setContentView(R.layout.main_activity_LARGE);
    } else {
        setContentView(R.layout.main_activity);
    }

文件说(sw NUMBER dp)格式:"此开关的确切点取决于您的特定设计 - 您的平板电脑布局可能需要720dp宽度,可能需要600dp足够,或480dp,或者这些之间的某个数字。 " 所以你可以放入res:

res / layout / main_activity.xml

res / layout-sw480dp / main_activity.xml