我真的不知道你想做什么,但如果你只想要手机和平板电脑的两个不同布局文件,那么你可以这样做:
当您使用 Fragments 时,您通常有两个不同的布局文件。一个只包含一个用于移动设备的 Framelayout,另一个包含两个用于平板电脑设备的 Framelayout。
确定设备是手机还是平板电脑的一个好方法是在您的 values 文件夹中创建一个 refs.xml 文件。只需在其中放置一个带有名称的项目以及您要引用的布局。此文件适用于移动设备:
<resources>
<item name="activity_masterdetail" type="layout">@layout/activity_fragment</item>
</resources>
然后创建另一个名为 values-sw600dp 的值文件夹。在此文件夹中创建另一个 refs.xml 文件。为两个 refs 文件提供相同的项目名称非常重要。然后参考您的平板电脑布局。
<resources>
<item name="activity_masterdetail" type="layout">@layout/activity_twopane</item>
</resources>
现在您可以使用您的项目名称设置内容视图,如果您有平板电脑或手机,android 只会选择正确的。
在您的活动中的 onCreate() 方法中:
setContentView(R.layout.activity_masterdetail);
现在您必须检查您的平板电脑视图的 Framecontainer 是否为空:
if (findViewById(R.id.yourFragmentDetailContainerForTablets) == null) {
doYourCode();
} else {
doYourCode();