Fragment全家桶

Fragment又称碎片,从Android 3.0引入,能够兼顾手机和平板的尺寸。

1.基础使用

创建一个自定义Fragment类,使其继承自Fragment。

public class FragmentDemo extends Fragment {
         @Override
         public View onCreatView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState){
   //通过inflate方法把Fragment布局动态加载进来
   View view=inflater.inflate(R.layout.FragmentDemo,container,false);
   return view;
    }


}

在Activity_main.xml中使用标签在布局中添加碎片,特别注意需要通过android:name属性来显式指明要添加的碎片类名,必须将类的包名也加上。

android:name="com.example.fragmenttest.FragmentDemo"

2.动态添加碎片

1.创建待添加的碎片实例。

2.获取FragmentManager,在活动中可以直接通过调用getSupportFragment()方法得到。

3.开启一个事务,通过调用beginTransaction()方法开启

4.向容器中添加碎片,用add()方法,替换碎片,用replace()方法实现,需要传入容器的id和待添加的碎片实例。

5.提交事务,调用commit()方法来完成。

6.补充:调用FragmentTransaction提供的addToBackStack()方法,可以用于将一个事务添加到返回栈中,参数接收一个名字用于描述返回栈的状态,一般传入null。

Transaction transaction=getSupportFragmentManager().beginTransaction();
//初始添加Fragment
transaction.add(int containerViewId, Fragment fragment);
//替换Fragment
transaction.replace(int containerViewId, Fragment fragment);
//在碎片中模拟返回栈
transaction.addToBackStack(null);
transaction.commit();

 

你可能感兴趣的:(Fragment全家桶)