Android 学习之Fragment的创建
来源:互联网 发布:c语言参考手册 pdf 编辑:程序博客网 时间:2024/05/29 18:55
本节学习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的内容显示在界面上@Overridepublic 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的内容显示在界面上@Overridepublic 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的内容显示在界面上@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {View v = inflater.inflate(R.layout.fragement3, null);return v;}}
因为每个Fragment必须要对应一个布局文件,所以需要3个Fragment的布局文件
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>
Fragment02的布局文件:
<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>
Fragment03的布局文件:
<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>
剩下就是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就是这几个步骤,记住就可以了。
0 0
- Android 学习之Fragment的创建
- Android学习之 Fragment
- android学习之fragment
- Android学习之Fragment
- Android学习之Fragment
- Android学习之Fragment
- Android之Fragment创建方式
- Android开发之创建Fragment
- android基础之fragment的学习
- android学习之fragment的简单使用
- Android之fragment的两种创建方式
- android 开发之 fragment与activity 创建菜单的区别
- Android碎片(Fragment)的创建
- Android Fragment---创建Fragment
- Android Fragment---创建Fragment
- Android Fragment的学习
- android学习笔记之Fragment
- Android学习笔记之fragment
- Hello World驱动
- Oracle中删除用户下所有对象
- 代理模式
- gradle批量签名打包
- 玩转Xcode之修改系统生成的注释模板
- Android 学习之Fragment的创建
- 驱动程序如何手动卸载与更新
- 数据结构实验之队列一:排队买饭
- Automatic Preferred Max Layout Width is not available on iOS versions prior to
- MYSQL自定义排序
- jQuery_统计图插件-jscharts
- fuel-6.1 iso制作
- 命令行svn commit时,注释怎么实现换行效果?
- 数据库内搜索问题