我有一个带有两个.xml文件的简单应用程序。一个用于Nexus 5手机,位于res / layout文件夹中,另一个用于Nexus 10平板电脑。这两个都在Genymotion模拟器上运行。我在我的res文件夹中为平板电脑布局创建了多个文件夹,包括" layout-large"," layoutsw600dp"," layout-xlarge-xhdpi",但是非在应用程序启动时被识别。
我的平板电脑.xml文件包含一个名为fragmentContainer的小部件。我的Java代码会查找此文件,如果它不在"选择" .xml然后使用手机的.xml:
public void itemClicked(long id) {
View fragmentContainer = findViewById(R.id.fragmentContainer);
if(fragmentContainer!=null){
WorkoutDetailFragment details = new WorkoutDetailFragment();
FragmentTransaction ft = getFragmentManager().beginTransaction();
details.setWorkoutID(id);
ft.replace(R.id.fragmentContainer, details);
ft.addToBackStack(null);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
ft.commit();
}else{
Intent intent = new Intent(MainActivity.this, DetailActivity.class);
intent.putExtra(DetailActivity.EXTRA_WORKOUT_ID,id);
startActivity(intent);
}
}
我已经尝试过一堆不同的文件夹但是没有这些文件夹被识别为平板电脑。谁知道为什么?我的清单文件中应该有特定的设置吗?这是完整的文件:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mark.fragments" >
<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:anyDensity="true" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".DetailActivity"
android:label="@string/title_activity_detail" >
</activity>
</application>