一、什么是Fragment?
Fragment的由来
1、基于Android系统的设备越来越多,分辨率种类越来越多,Google提出Fragment的概念也是通过Fragment解决局部碎片化问题;
2、Fragment翻译为碎片,自Android开始引入Fragment的概念,Fragment最初由Google打包到V4的支持包中,安卓4.0之后纳入到Android SDK中;
3、用Fragment替换是TabHost是Google推荐的方案。
二、用Fragment能解决什么问题?
1、使用Fragment可以在一个Activity中实现不同界面的灵活切换;
2、Fragment解决了Activity间的切换不流畅,布局切换时更轻量;
3、Fragment可以封装成不同的重用组件,并可以单独管理其生命周期和UI布局;
4、Fragment无需在AndroidManifest中注册,可以在布局文件中直接引用。
三、Fragment静态加载方法
大致步骤:
1、新建继承Fragment;
2、重写onCreateView方法;
3、使用LayoutInflater对象中的inflate方法绑定布局和控件;
4、在Activity对用的布局文件中通过<fragment>标签引用。
代码:
public class NewFragment extends Fragment {
public NewFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_one, container, false);
return view;
}
}
布局:
<TextView
android:layout_width="match_parent"
android:layout_height="100dp"
android:text="This is a Activity"
android:gravity="center"
android:textSize="30sp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<fragment
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
andro