(原创)Fragment详解(上)

Android引入了Fragment机制后,页面设计变得更加灵活了,同时也让开发变得更加快捷方便。那么现在就来了解下什么是Fragment

Fragment,英译为碎片的意思,顾名思义,他是一个可以放置在Activity上的控件,同时他也可以在自己上面放置控件。我们可以简单地把他理解成一个轻量级的Activity。这样一来我们就大概明白了fragment的作用了。

那么怎么使用呢?

首先,你需要自定义一个类去继承Fragment,就好像你去定义一个Activity一样。

这里要注意,Fragment类分为V4包下的和App包下的。V4包是兼容以前版本的,建议使用。而我们Activity可以直接去继承AppCompatActivity,因为AppCompatActivity是兼容FragmentManager的,这个后面再讲。

当我们自定义的Fragment实现类去继承了Fragment父类的时候,可以重写以下三个方法

onCreateView:创建布局文件的

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.footer_refresh, container, false);
    return view;
}

onViewCreate:紧跟onCreateView后面执行

扫描二维码关注公众号,回复: 1495982 查看本文章
/**
 * 该方法紧跟onCreateView之后执行
 * @param view
 * @param savedInstanceState
 */
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {

}

onActivityCreate:Fragment所在的Activity创建后调用这个方法

@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
}

另外还可以通过getActivity()方法得到fragment所在的Activity

对于Fragment,我们最后做这样的总结:他是放置在Activity上的一层控件,但同时他又可以基于自身所在Activity去实现自己的布局,Android中的其他控件都可以放在Fragment的布局里。如果说Activity是国家的话,Fragment就是一座城市。当然,Fragment自身也可以包含Fragment。实现Fragment的多重嵌套。

下面介绍Fragment的静态实现:

Fragment类创建好之后,你需要在Activity中去添加一个fragment控件标签

设置好name属性,这个name就是你自己定义的fragment的名称

类似下面这样。这时候Activity就会显示你添加的Fragment来了

<fragment
    android:id="@+id/myfragment"
    android:name="fragment.Indexfragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

不过这种方式使用的比较少,使用最多的还是动态加载Fragment

这就需要用到Fragment相关的另一个类FragmentManager了

我们下篇再讲。



猜你喜欢

转载自blog.csdn.net/android_xiong_st/article/details/78049866