使用之前Fragment中的代码(点击打开链接):
在main.xml文件中注释掉两个Fragment元素。在MainActivity.Java中:
package net.learn2develop.fragment;
import android.os.Bundle;
import android.view.Display;
import android.view.WindowManager;
import android.app.Activity;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//为了向活动添加碎片。使用FragmentManager类。首先获得该类的实例
FragmentManager fragmentManager=getFragmentManager();
//还需要在活动中使用FragmentTransaction类来执行碎片操作
FragmentTransaction fragmentTransaction=fragmentManager.beginTransaction();
//使用windowManager来确定设备当前处于横向还是纵向。一旦定义之后向活动添加合适的碎片
WindowManager wm=getWindowManager();
Display d=wm.getDefaultDisplay();
if (d.getWidth()>d.getHeight()) {
//创建碎片
Fragment1 fragment1=new Fragment1();
//调用FragmentTransaction的replace方法将碎片添加到指定的视图容器
fragmentTransaction.replace(R.layout.fragment1, fragment1);
}else {
Fragment2 fragment2=new Fragment2();
fragmentTransaction.replace(R.layout.fragment2, fragment2);
}
//为了确保更改生效。需要调用commit方法
fragmentTransaction.commit();
}
}