本节学习Fragment, Fragment是Android3.0引入的新的API,
Android 学习之Fragment的创建
。引入的初衷是为了适合大屏幕的平板电脑。Fragment代表了Activity的子模块,因此可以把Fragment理解为Activity的片段。本节学习如何创建Fragment。1:先创建一个布局文件,用于显示,左边是按钮用来切换Fragment,而右边就是fragment要显示的内容
<li><li><b></button><b></button><b><framelayout android:id="@+id/fl" android:layout_height="match_parent" android:layout_weight="1" android:layout_width="0dp"> </framelayout></button></linearlayout></linearlayout>
2:创建一个Fragment子类,继承Fragment类。
Fragment01:
public class Fragement01 extends Fragment { //返回的view对象会作为fragement1的内容显示在界面上 @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.fragement1, null); return v; }}
Fragment02:
public class Fragement02 extends Fragment { //返回的view对象会作为fragement2的内容显示在界面上 @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.fragement2, null); return v; }}
Fragment03:
public class Fragement03 extends Fragment { //返回的view对象会作为fragement3的内容显示在界面上 @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.fragement3, null); return v; }}
因为每个Fragment必须要对应一个布局文件,所以需要3个Fragment的布局文件
Fragment01的布局文件:
<li><textview android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="这是Fragement1" android:textsize="25sp"></textview></linearlayout>
Fragment02的布局文件:
<li><textview android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="这是Fragement2" android:textsize="25sp"></textview></linearlayout>
Fragment03的布局文件:
<li><textview android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="这是Fragement3" android:textsize="25sp"></textview></linearlayout>
剩下就是Activity的代码了:
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void red(View v) { //把fragement01的界面显示在布局文件中 //1: 先拿到fragement Fragement01 fragement01 = new Fragement01(); //2:获取fragement管理器 FragmentManager fManager = getFragmentManager(); //3:打开事物 FragmentTransaction ft = fManager.beginTransaction(); //4:把内容显示到界面 ft.replace(R.id.fl, fragement01); //5:提交 ft.commit(); } public void green(View v) { //把fragement02的界面显示在布局文件中 //1: 先拿到fragement Fragement02 fragement02 = new Fragement02(); //2:获取fragement管理器 FragmentManager fManager = getFragmentManager(); //3:打开事物 FragmentTransaction ft = fManager.beginTransaction(); //4:把内容显示到界面 ft.replace(R.id.fl, fragement02); //5:提交 ft.commit(); } public void blue(View v) { //把fragement03的界面显示在布局文件中 //1: 先拿到fragement Fragement03 fragement03 = new Fragement03(); //2:获取fragement管理器 FragmentManager fManager = getFragmentManager(); //3:打开事物 FragmentTransaction ft = fManager.beginTransaction(); //4:把内容显示到界面 ft.replace(R.id.fl, fragement03); //5:提交 ft.commit(); }}
运行看效果:
其实Fragment就是这几个步骤,记住就可以了,