こんにちは、これを明確にしようとしています:もし私が縦向きレイアウト用にこのレイアウトを持っているなら
main.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<fragment
android:id="@+id/configFragment_id"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name="com.example.settingsFragment">
</fragment>
これはランドスケープ用(主にタブレット用)、main.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<fragment
android:id="@+id/configFragment_id"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name="com.example.SettingsFragment" ></fragment>
<fragment
android:id="@+id/detailFragment_id"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name="com.Example.DetailFragment" >
<!-- Preview: layout=@layout/details -->
</fragment>
</LinearLayout>
SettingFragment 内に、DetailFragment に移動するボタンを実装します。
DetailFragment fragment = (DetailFragment)getActivity().getSupportFragmentManager().findFragmentById(R.id.detailFragment_id);
FragmentTransaction fragmentTransaction = getActivity().getSupportFragmentManager().beginTransaction();
if (fragment != null && fragment.isInLayout()) {
DetailFragment detailfragment = new WallpaperFragment();
fragmentTransaction.add(R.id.detailFragment_id, detailfragment);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
}else{
Intent intent = new Intent(getActivity().getApplicationContext(),DetailActivity.class);
startActivity(intent);
}
現在動的フラグメントを実装していますか、それともまだ静的フラグメントを使用していますか?..または、フラグメントタグ要素の代わりに FrameLayout のようなビューグループを使用する場合にのみ動的フラグメントを使用しますか?
電話には単一のペインを、タブレットには複数のペインを用意するというアイデアがあります。静的フラグメントと動的フラグメントを混在させるのは悪い考えだとは思いますが、ややこしいです。ありがとうございました。