为什么要使用fragment(译为碎片)
适配大屏幕
fragment 理解成迷你activity,依托于activity存活,如果activity挂了,fragment也挂了。
1. 写一个类继承 Fragement
2. 重写onCreateView()方法,返回当前fragement显示的view对象。
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
//返回一个view对象
}
3. 在activity获取到碎片管理器 FragmentManager
fm = getFragmentManager();
4. 如果要更新界面要保证同时成功或者同时失败,开启事务
fm.beginTransaction();
5. 替换activity界面某个容器里面显示的内容(fragment)
ft.add();
ft.remove();
ft.replace(R.id.container, new Fragment03());
ft.commit();
fragement向下兼容
使用 support-v4.jar包。包含有新版本sdk的API。
1. 替换所有的导包 android.app.* ---> android.support.v4.app.*;
2. 继承activity的时候 换成 FragmentActivity
3. getFragmentManager() --->getSupportFragmentManager();
>在实际开发当中,基本上使用的都是v4包里面的fragement
fragement的生命周期
完整生命周期
>oncreate-->oncreateView-->onstart-->onresume-->onpause--->onstop--->ondestroy
可视生命周期
>onstart-->onresume-->onpause--->onstop
前台生命周期
>onresume-->onpause
activity与fragement的数据传递
发送广播
适配大屏幕
一个Fragment是应用程序的用户界面或行为的一个片段,它能够被放置在一个Activity中。通过FragmentManager对象来实现与Fragment对象的交互,
如何获得fragmenManager的对象?
能够通过Activity.getFragmentManager()方法和Fragment.getFragmentManager()方法来获取FragmentManager对象。
Fragment类有着广泛的应用,它的核心是代表了一个较大的Activity中运行的特殊的操作或界面。Fragment对象跟它所依附的Activity对象是紧密相关的,并且不能被分开使用。尽管Fragment对象定义了它们自己的生命周期,但是这个生命周期要依赖与它所在的Activity:如果该Activity被终止,那么它内部的Fragment是不能被启动的;当Activity被销毁时,它内部的所有Fragment对象都会被销毁。
如何使用fragmentfragment 理解成迷你activity,依托于activity存活,如果activity挂了,fragment也挂了。
1. 写一个类继承 Fragement
2. 重写onCreateView()方法,返回当前fragement显示的view对象。
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
//返回一个view对象
}
3. 在activity获取到碎片管理器 FragmentManager
fm = getFragmentManager();
4. 如果要更新界面要保证同时成功或者同时失败,开启事务
fm.beginTransaction();
5. 替换activity界面某个容器里面显示的内容(fragment)
ft.add();
ft.remove();
ft.replace(R.id.container, new Fragment03());
ft.commit();
fragement向下兼容
使用 support-v4.jar包。包含有新版本sdk的API。
1. 替换所有的导包 android.app.* ---> android.support.v4.app.*;
2. 继承activity的时候 换成 FragmentActivity
3. getFragmentManager() --->getSupportFragmentManager();
>在实际开发当中,基本上使用的都是v4包里面的fragement
fragement的生命周期
完整生命周期
>oncreate-->oncreateView-->onstart-->onresume-->onpause--->onstop--->ondestroy
可视生命周期
>onstart-->onresume-->onpause--->onstop
前台生命周期
>onresume-->onpause
activity与fragement的数据传递
发送广播