使用fragment兼容低版本的写法

Posted iFat的笔记本

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用fragment兼容低版本的写法相关的知识,希望对你有一定的参考价值。

  [1]定义fragment继承V4包中的Fragment 
  [2]定义的activity要继承v4包中的FragmentActivity
  [3]通过这个方法getSupportFragmentManager  获取Fragment的管理者
 
import android.os.Bundle;
import android.annotation.SuppressLint;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.view.WindowManager;

@SuppressLint("CommitTransaction")
public class MainActivity extends FragmentActivity {

    @SuppressWarnings("deprecation")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // [1]获取手机的宽和高 windommanager
        WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
        int width = wm.getDefaultDisplay().getWidth();
        int height = wm.getDefaultDisplay().getHeight();
        // [2]判断横竖屏

        // [3.1]如果使用v4包中的fragment 获取fragment的管理者 是通过getsupportFragmentManager();
        FragmentManager supportFragmentManager = getSupportFragmentManager();
        
        
        // [3.2]开启一个事务
        FragmentTransaction transaction = supportFragmentManager.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兼容低版本的写法的主要内容,如果未能解决你的问题,请参考以下文章

使用兼容包 android 膨胀片段

浏览器兼容性以及写法

android fragment和activity的区别

片段如何处理触摸?

我可以使用兼容包 v4 创建 Fragment ListActivity 吗?

Fragment