Android在3.0中引入了Fragments的概念,主要的目的是用在大屏幕的设备上,例如平板电脑,支持更加动态和灵活的UI设计。平板电脑的屏幕比手机大得多,有更多的空间来放更多的UI组件,并且这些组件之间会产生更多的交互。Fragment介绍创建Fragment替换和移除FragmentFragment与activity通信
Fragment可以作为Activity界面的一部分组成出现。可以在一个Activity中同时出现多个Fragment,并且一个Fragment也可以在多个Activity中使用。在Activity运行过程中,可以添加、移除或替换Fragment,Fragment可以响应自己的输入事件,并且有自己的生命周期,他们的生命周期会受宿主Activity的生命周期影响
Fragment生命周期回调方法:onAttach(Activity)当Fragment与Activity发生关联时调用onCreateView(LayoutInflater, ViewGroup,Bundle)创建该Fragment的视图onActivityCreated(Bundle)当Activity的onCreate方法返回时调用onDestoryView()与onCreateView想对应,当该Fragment的视图被移除时调用onDetach()与onAttach相对应,当Fragment与Activity关联被取消时调用
做Demo的问题,android.support.v4.app.Fragment和android.app.Fragment区别1.最低支持版本不同
Android.app.Fragment 兼容的最低版本是android:minSdkVersion="11" 即3.0版
android.support.v4.app.Fragment 兼容的最低版本是android:minSdkVersion="4" 即1.6版
2.需要导jar包
fragment android.support.v4.app.Fragment 需要引入包android-support-v4.jar
3.在Activity中取的方法不同
android.app.Fragment使用 (ListFragment)getFragmentManager().findFragmentById(R.id.userList) 获得 ,继承Activity
android.support.v4.app.Fragment使用 (ListFragment)getSupportFragmentManager().findFragmentById(R.id.userList) 获得 ,需要继承android.support.v4.app.FragmentActivity.
--------------------------------------------------------------------------------------------------------------------------------------------------------
动态添加碎片的步骤:
1.创建待添加的碎片对象;
2.获取FragmentManager的对象,使用getFragmentManager()方法得到;
3.开启一个事务,通过调用beginTransaction()方法开启.
4.向容器内加入碎片,一般使用replace()方法开启,需要传入容器的id和待添加的碎片对象;
5.提交事务,调用commit()方法来完成。
在碎片中模拟返回栈,注意方法:addToBackStack(null);