动态替换fragment

时间:2022-03-16 06:22:48
// [1]获取手机的宽和高 windommanager
WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
int width = wm.getDefaultDisplay().getWidth();
int height = wm.getDefaultDisplay().getHeight();
// [2]判断横竖屏 // [3.1]获取fragment的管理者
FragmentManager manager = getFragmentManager();
// [3.2]开启一个事务
FragmentTransaction transaction = manager.beginTransaction(); if (height > width) {
// 说明是竖屏 androind 代表系统定义好的 android.R.id.content理解成是当前手机的窗体
transaction.replace(android.R.id.content, new Fragment1()); } else {
// 横屏
transaction.replace(android.R.id.content, new Fragment2());
} //[4]一定要记得 提交commit
transaction.commit();
//定义一个Fragment
public class Fragment1 extends Fragment { //当用户第一次画ui的时候调用 要显示Fragment自己的内容 setContentView(R.layout.activity_main);
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
//[1]通过打气筒把一个布局转换成view对象
View view = inflater.inflate(R.layout.fragment1, null); return view;
}
}