本节学习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 {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}public void red(View v){//把fragement01的界面显示在布局文件中//1: 先拿到fragementFragement01 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: 先拿到fragementFragement02 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: 先拿到fragementFragement03 fragement03 = new Fragement03();//2:获取fragement管理器FragmentManager fManager = getFragmentManager();//3:打开事物FragmentTransaction ft = fManager.beginTransaction();//4:把内容显示到界面ft.replace(R.id.fl, fragement03);//5:提交ft.commit();}
}

运行看效果:

其实Fragment就是这几个步骤,记住就可以了。

Android 学习之Fragment的创建相关推荐

  1. Android学习之 Fragment

    [eoe特刊]Fragment- 特刊-eoe Fragment应用的介绍 - memegood123的专栏 - 博客频道 - CSDN.NET android之Fragment(官网资料翻译) - ...

  2. android学习笔记Fragment的使用

    Fragment的内容感觉好多啊,主要需要掌握Fragment静态加载,Fragment动态加载,Fragment的生命周期,Fragment与Activity的交互 1,Fragment的静态加载 ...

  3. Android 学习笔记四:创建工具栏按钮

    原文:http://blog.csdn.net/lihongxun945/article/details/48951199 前面我们已经可以在一个Activity中添加一些按钮之类的组件.由于手机的屏 ...

  4. Android学习第三天 创建demo 电话拨号器

    Hello World! 打开Android Studio,点击右上角"File"=>"New"=>"New Project" ...

  5. android创建布局文件,android学习——Android Studio下创建menu布局文件

    一.问题: android studio项目中没有看到menu文件夹: 在android studio项目中想要添加menu布局文件,一开始我的做法是:直接在res文件夹右键选择xml文件来添加,如下 ...

  6. 【Android Developers Training】 20. 创建一个Fragment

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  7. android学习笔记之Fragment(一)

    2019独角兽企业重金招聘Python工程师标准>>> Fragment(Android3.0 API Level 11引入,之前的怎么办? 没关系可以使用Android suppo ...

  8. android移除fragment,Fragment 的创建、替换与移除

    一.前言 Fragment 是从 Android 3.0 开始引入的,翻译过来就是碎片的意思.Fragment 的作用以及使用场景我就不赘述了.这篇博文我们就主要讲 Fragment 的创建.替换与移 ...

  9. Android学习笔记 2.5.3 实例——使用SimpleAdapter创建ListView 2.5.4 自动完成文本框(AutoCompleteTextView)的功能与用法

    Android学习笔记 疯狂Android讲义 文章目录 Android学习笔记 疯狂Android讲义 第2章 Android 应用的界面编程 2.5 第4组 UI组件:AdapterView及其子 ...

  10. Android学习笔记-recreate()方法导致fragment重复新建的问题,解决方法

    Android学习笔记-recreate()方法导致fragment重复新建的问题,解决方法 今天修改一个比较奇怪的bug: 在操作一个事件的时候,使用eventbus来监听事件,断点发现有时候是会执 ...

最新文章

  1. 在 Linux 系统中安装Load Generator ,并在windows 调用
  2. FFmpeg AVCodecContext结构体debug变量剖析
  3. 电脑CPU选购的几个指标
  4. linux网络编程 华清,Linux网络编程之套接字
  5. java数组末尾添加元素_JavaScript 数组 Array对象增加和删除 元素
  6. (转)STORM启动与部署TOPOLOGY
  7. 【Vegas原创】红烧肉的做法
  8. android示例程序剖析之记事本,Android实现记事本项目完整实例,附源代码
  9. html5 sha1,js-sha1加密
  10. Android多分辨率适配框架(1)— 核心基础
  11. 打印机不打印计算机原因,打印机打印不完整?是这10个原因造成的!打印必备...
  12. java录入学生信息_java实现学生成绩录入系统
  13. BAT批处理文本替换
  14. Python Flask框架
  15. 三、Linux命令之cp
  16. c语言贪吃蛇大作业报告,C语言贪吃蛇实验报告
  17. 第09课:生活中的工厂模式——你要拿铁还是摩卡
  18. 23吉林大学软件学硕经验贴
  19. BF518的interrupt
  20. raid技术快速入门

热门文章

  1. H3C交换机修改时间
  2. 异步编程的优势和难点
  3. Codeforce 697A - Pineapple Incident
  4. clearcanvas解析
  5. postman 第4节 切换环境和设置读取变量(转)
  6. jQuery左侧图片右侧文字滑动切换代码
  7. DT大数据梦工厂 第72,73讲
  8. php常见问题辨析(二)
  9. 在Unity中添加图标
  10. 关于jQuery性能优化