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

Choosing layout folder for supporting all devices

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

我在小型三星 Galaxy Youth 3.3" (320x480) 上测试过,它使用 layout 文件夹...我不太了解屏幕分辨率,我在 google doc 但直到现在我还没有真正了解它。Google Nexus 配置看起来适合小屏幕,所以我在没有足够了解分辨率或屏幕尺寸的情况下选择了它。不知何故,它很适合我的 Galaxy Youth。

虽然对于大屏幕设备我依赖 layout-large 文件夹,所以我用 Galaxy Tab 7" 测试了它。它也很适合。 当我用 Galaxy Note 2 和 Galaxy Note 4 测试它时出现问题。(对于其他设备我没有测试,因为我没有它们)。 Galaxy Note 2 和 Galaxy Note 4 似乎使用 layout 文件夹而不是大文件夹(我相信它会很适合我的 layout-large)。

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

看这里:http://stefan222devel.blogspot.sk/2012/10/android-screen-densities-sizes.html 有关 android 设备

的屏幕尺寸和密度的更多信息

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

创建时:

   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