标签:创建fragment
本节学习Fragment, Fragment是Android3.0引入的新的API。引入的初衷是为了适合大屏幕的平板电脑。Fragment代表了Activity的子模块,因此可以把Fragment理解为Activity的片段。本节学习如何创建Fragment。
1:先创建一个布局文件,用于显示,左边是按钮用来切换Fragment,而右边就是fragment要显示的内容
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="${relativePackage}.${activityClass}" > <LinearLayout android:layout_width="wrap_content" android:layout_height="match_parent" android:orientation="vertical" > <Button android:id="@+id/bt_1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Fragement1" android:onClick="red" /> <Button android:id="@+id/bt_2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Fragement2" android:onClick="green" /> <Button android:id="@+id/bt_3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Fragement3" android:onClick="blue" /> </LinearLayout> <FrameLayout android:id="@+id/fl" android:layout_weight="1" android:layout_width="0dp" android:layout_height="match_parent" > </FrameLayout> </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; } }
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; } }
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; } }
Fragment01的布局文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="#FF0000" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="这是Fragement1" android:textSize="25sp" /> </LinearLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="#00FF00" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="这是Fragement2" android:textSize="25sp" /> </LinearLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="#0000FF" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="这是Fragement3" android:textSize="25sp" /> </LinearLayout>
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就是这几个步骤,记住就可以了。
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:创建fragment
原文地址:http://blog.csdn.net/longwang155069/article/details/47444077