(十三)——碎片(一)
最后更新于:2022-04-01 20:16:57
**碎片**
碎片可看作另外一种形式的活动,可以创建碎片来包含视图。
碎片总是嵌入在活动中,一般有两种常见形式:
1、碎片A和碎片B分别处于不同的活动中,当选择碎片A中的某一项时,触发碎片B启动;
2、碎片A和碎片B处于同一个活动中,共享同一活动,以创建更佳的用户体验。
[点此下载完整源码~](http://download.csdn.net/detail/u012904198/7327509)**(代码适用于本文章所讲)**
1、创建一个名为“Fragments”的项目,在res/layout文件夹下,分别新建fragment1.xml、fragment2.xml;在当前包名下,分别新建Fragment1.java、Fragment2.java:
fragment1.xml:
~~~
~~~
fragment2.xml:
~~~
~~~
Fragment1.java:
~~~
package net.zenail.fragments;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class Fragment1 extends Fragment {// 继承Fragment基类
// 绘制碎片UI:使用一个LayoutInflauter对象来增大指定XML文件中的UI。container参数引用父ViewGroup,准备用于嵌入碎片的活动。
// savedInstanceState参数允许将碎片还原到前一次保存的状态。
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
return inflater.inflate(R.layout.fragment1, container, false);
}
}
~~~
Fragment2.java:
~~~
package net.zenail.fragments;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class Fragment2 extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
return inflater.inflate(R.layout.fragment2, container, false);
}
}
~~~
2、在main.xml文件中添加两个碎片:
~~~
~~~
3、运行,效果如下:
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-23_57bc06b82d3c3.jpg)
';