拆分源代码:ListView for phones / GridView for tablet

时间:2013-11-28 09:18:31

标签: android

我想为我的应用设置两种不同的布局:一种用于手机,另一种用于平板电脑。

Fragment中,我会为手机使用ListView,为平板电脑使用GridView

我知道我可以根据屏幕大小设置特定的布局,但是如何根据使用的布局拆分源代码?

2 个答案:

答案 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了解更多信息   信息。