使用Fragment进行UI管理,可以使得UI设计更加灵活。
Fragment的创建:
- 创建Activity
Fragment需要被Activity托管才可以使用。为了兼容较低版本
extends FragmentActivity
- 托管UI Fragment
创建fragment容器布局.xml
<FrameLayout
android:id="@+id/...".../>
创建Fragment的布局.xml
通过代码的方式添加fragment到activity的布局中,
extends android.support.v4.app.Fragment
覆盖Fragment.onCreat(Bundle) 以及 onCreatView(...)方法,在 onCreatView方法中onCreatView(LayoutInflater inflater , ViewGroup parent , Bundle saveInstanceState)
fragment的视图是直接通过调用LayoutInflater.inflate(...)方法并传入布局的资源ID生成的。
View v = inflater.inflate(R.layout. ... , parent , false);
...
return v;
第二个参数是视图的父视图,通常我们需要父视图来正确配置组件。
第三个参数是告知布局生成器是否将生成的视图添加给父视图,这里传入了false参数,是因为我们将通过activity代码的方式添加视图。
注意,在onCreatView中组件的引用需调用fragment视图的View.findViewById(int)方法。
3.获取FragmentManager并将fragment交由FragmentManager管理。
FragmentManager fm = getSupportFragmentManager();
if(fragment == null){
fragment = new ...;
fm.beginTransaction().add(R.id. ... , fragment).commit();
//创建一个新的fragment事务,加入一个添加操作,然后提交该事务。
}