我想为我的应用设置两种不同的布局:一种用于手机,另一种用于平板电脑。
在Fragment
中,我会为手机使用ListView
,为平板电脑使用GridView
。
我知道我可以根据屏幕大小设置特定的布局,但是如何根据使用的布局拆分源代码?
答案 0 :(得分:2)
您可以创建2个片段:一个包含列表,另一个包含网格。它们都有特定的代码,如果需要,还有自己的菜单。
您必须做的唯一检查是在运行时,当您必须启动其中一个时:
if (getResources().getConfiguration().smallestScreenWidthDp >= 600) {
// It's a tablet
} else {
// It's not a tablet
}
这就是我对我的代码所做的事情,因为我需要知道用于扩充的菜单。希望这有帮助。
答案 1 :(得分:1)
您可以在与layout-large
文件夹相同的级别添加layout
文件夹,其中包含特定于平板电脑的布局。
只需添加layout-large
,添加一个与layout_folder
中名称相同的XML文件,并在其中输入平板电脑的XML代码(以及{ {1}}文件夹)。
您可以在Supporting different screen size
找到更多信息然后,您可能希望在代码中调整布局,如:
layout
更新2014
如所提供的链接所述,
注意:从Android 3.2(API级别13)开始,这些大小的组是 不推荐使用基于管理屏幕尺寸的新技术 在可用的屏幕宽度上。如果你正在为Android 3.2开发 更多,请参阅Declaring Tablet Layouts for Android 3.2了解更多信息 信息。