横竖屏切换Fragment

【1】写两个类继承android.app.Fragment; 

【2】在Mainactivity 中获取窗口大小,判断横竖屏进行更换。 FragmentManager 动态注入    

protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        

        //[1]获取手机分辨率

        WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);

        int width = wm.getDefaultDisplay().getWidth();

        int height = wm.getDefaultDisplay().getHeight();

        //[2]获取fragment的管理者

        FragmentManager fragmentManager = getFragmentManager();

        //开启事务

        FragmentTransaction beginTransaction = fragmentManager.beginTransaction();

        

        //[3]判断当前屏幕是横屏还是竖屏

        if (height > width) {

            //说明是竖屏  当是竖屏的时候我加载一个fragment ★Android.代表都是系统定义好的 android.R.id.content:理解成是当前手机的窗体

            beginTransaction.replace(android.R.id.content, new Demo1Fragment());

            

        }else {

            //说明是横屏 当是横屏的时候加载另外一个fragment

            beginTransaction.replace(android.R.id.content, new Demo2Fragment());

        }

        //[4]一定要记得提交beginTransaction

beginTransaction.commit();

    }

猜你喜欢

转载自blog.csdn.net/Cricket_7/article/details/85046904