本文作为“第一行代码”的学习笔记
了解Fragment之前先弄懂几个基本问题
- 什么是Fragment?
- Fragment有什么好处?
- Fragment的效果展示,一共有两个碎片(即两个Fragment),左边的Fragment含有一个Button,右边的Fragment含有一个TextView
1.Fragment通俗来讲就是碎片,那么碎片是干嘛的?碎片就是为了填充我们的页面的空白,从而达到我们充分利用屏幕控件的目的
2.好处就是更加充分利用页面控件
直接上代码
1.首先先建立两个布局文件,第一个布局文件取名为left_fragment,包含一个Button,另一个布局取名为right_fragment,包含一个Button
left_fragment
right_fragment
然后就是建立真正Fragment的大招了 ,由于有两个碎片,所以我们需要两个类Fragment,分别为LeftFragment,RightFragment!!!!!!两个类一定要继承Fragment,这个Fragment导包时一定要导入support-v4包,因为他可以让碎片在所有的Android系统版本保持功能的一致性,比如在Fragment中嵌套使用Fragment,这个功能是在4.2系统中才开始支持的,如果你导入的是app(即系统内置的Fragment),那么4.2系统之前的设备运行你的程序就会崩溃,而使用support-v4则不用担心出现这个问题,只要保证你使用的是最新的support-v4就行了
LeftFragment
public class LeftFragment extends Fragment
{
//重写onCreateView方法并加载我们的left_fragment的布局xml文件
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view=inflater.inflate(R.layout.left_fragment,container,false);
return view;
}
}
//与LeftFragment同理
RightFragment
public class RightFragment extends Fragment
{
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view=inflater.inflate(R.layout.right_fragment,container,false);
return view;
}
}
-----
接下来我们把碎片放入我们的界面(这个界面既可以是Activity也可以是Fragemnt,我就放入MainActivity中了)由于我们只是简单的布局展示,没有复杂的逻辑,所以这里就直接在MainActivity中的activity_main展示效果即可,
activity_main
代码
//我们的两个Fragment要展示这里的控件的类型是fragment,我们把它理解为普通的TextView,Button等控件理解就行
!!!!!需要注意的一点是必须引用name属性,并且是我们的fragment全类名称,包含包名
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main"
android:layout_width="match_parent" android:layout_height="match_parent"
android:orientation="horizontal">
<fragment
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:name="history.six.com.fragmentdemo.LeftFragment"
/>
<fragment
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:name="history.six.com.fragmentdemo.RightFragment"
/>
</LinearLayout>
总结
1.Fragment继承的Fragment导包要为support-v4,主要是因为Android4.2系统之前的程序引用系统内置的app导包会崩溃
2.在布局中引用fragment是,要以fragment为控件类型,并且要引入”name”属性,添加完整的根源路径