Android Fragment(译)
类概述
一个Fragment是应用程序用户界面的片段,被放置在Activity中。与Fragment的交互是通过FragmentManager完成的,如 Activity.getFragmentManager()and Fragment.getFragmentManager().
Fragment类使用方式有很多从而实现各种各样的结果。其核心是,他替代了Activity中的部分操作或者界面。Fragmnet与Activity紧密相连,不能被单独使用。Fragment可以定义自己的生命周期,但生命周期依赖于Activity。如果活动停止了,其中的所有fragments都将不被启动,当活动销毁了,所有的Fragment也将销毁。
Fragment的子类必须包含一个共有的空构造器。经常地,系统框架会重新实例化一个Fragment,特别是状态恢复时,系统会默认地调用这个构造器。如果没有空构造器,在恢复期间可能会运行出错。
四大主题:
Old Platforms
当Fragment的API被引进时,该版本的API也可以被旧版本的平台使用。
生命周期
虽然Fragment的生命周期与其附属的Activity绑定,他也有自身的生命周期。他包含基本的活动周期方法比如onResume(),而有一些与活动和生成UI交互。
下面这些方法会使Fragment回到恢复状态:
onAttach(Activity)绑定到Activit时调用onCreate(Bundle)初始化Fragment时调用onCreateView(LayoutInflater, ViewGroup, Bundle)创建Fragment上的图层,并返回onActivityCreated(Bundle)告诉Fragment活动已经完成创建onViewStateRestored(Bundle)告诉Fragment所有图层状态均已恢复onStart()使Fragment可见onResume()使Fragment可操作
当Fragment不在被使用时,他会经历下面几个callbacks:
onPause() 无法交互onStop()不再可视onDestroyView()销毁Fragment中的所有ViewsonDestroy()销毁Fragment的状态onDetach()注销与活动的联系
布局
Fragment的布局是应用布局的一部分,让你更好地模块化代码,更方便地调整用户界面。例如,一个简单的程序是由一些items组成,每个item的外观则单独显示。
后退栈
当Frag的事务处理被修改时,会被放置在活动的内部后退栈中。当用户按下返回按钮时,在后退栈中的事务处理会先弹出,再结束活动。
浙公网安备 33010602011771号