我遇到了与某些设备的布局文件夹相关的问题。
所以起初我有layout
和layout-large
文件夹。我在这些布局中只有3个xml文件用于布局。
layout
文件夹包含使用Eclipse配置Galaxy Nexus 4.65的xml文件“(720x1280 xhdpi)
layout-large
文件夹包含使用Eclipse配置5.1“WVGA(800x480 mdpi)
我在小型三星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
。怎么实现呢?
答案 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