Fragment基本应用

来源:互联网 发布:优行科技 知乎 编辑:程序博客网 时间:2024/06/09 20:11

Fragment基本应用

Fragment –> 片段。 
在Android3.0的时候被引入,它的出现主要是给大屏幕设备提供更加灵活的UI支持。通过对Activity布局进行分片,更加方便的对每块进行独立控制。这些片段可以被不同的activity复用。

fragment生命周期

每个fragment拥有自己的生命周期,但是fragment要依赖于activity存在,生命周期受到包括它的activity的生命周期控制。


Fragment比Activity多了几个额外的生命周期回调方法:
onAttach(Activity)
当Fragment与Activity发生关联时调用。
onCreateView(LayoutInflater, ViewGroup,Bundle)
创建该Fragment的视图
onActivityCreated(Bundle)
当Activity的onCreate方法返回时调用
onDestoryView()
与onCreateView想对应,当该Fragment的视图被移除时调用
onDetach()
与onAttach相对应,当Fragment与Activity关联被取消时调用
注意:除了onCreateView,其他的所有方法如果你重写了,必须调用父类对于该方法的实现.

静态的使用Fragment

1、继承Fragment,重写onCreateView决定Fragemnt的布局

2、在Activity中声明此Fragment,就当和普通的View一样

 

Fragment常用的API

FragmentManager

要管理activity中的fragments,你就需要使用FragmentManager。通过getFragmentManager()或getSupportFragmentManager()获得 

常用的方法有:

manager.findFragmentById(); 根据ID来找到对应的Fragment实例,主要用在静态添加fragment的布局中,因为静态添加的fragment才会有ID  

manager.findFragmentByTag();根据TAG找到对应的Fragment实例,主要用于在动态添加的fragment中,根据TAG来找到fragment实例 

manager.getFragments();获取所有被ADD进Activity中的Fragment  

FragmentTransaction

一般用来对当前的Fragment进行管理

FragmentTransaction transaction =fm.benginTransatcion();//开启一个事务

往Activity中添加一个Fragment

transaction.add() 

从Activity中移除一个Fragment

transaction.remove()

使用另一个Fragment替换当前的

transaction.replace()

隐藏当前的Fragment

transaction.hide()

显示之前隐藏的Fragment

transaction.show()

重建view视图,附加到UI上并显示

attach()

transatcion.commit()//提交一个事务


0 0
原创粉丝点击