Android 学习之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的内容显示在界面上@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的创建相关推荐
- Android学习之 Fragment
[eoe特刊]Fragment- 特刊-eoe Fragment应用的介绍 - memegood123的专栏 - 博客频道 - CSDN.NET android之Fragment(官网资料翻译) - ...
- android学习笔记Fragment的使用
Fragment的内容感觉好多啊,主要需要掌握Fragment静态加载,Fragment动态加载,Fragment的生命周期,Fragment与Activity的交互 1,Fragment的静态加载 ...
- Android 学习笔记四:创建工具栏按钮
原文:http://blog.csdn.net/lihongxun945/article/details/48951199 前面我们已经可以在一个Activity中添加一些按钮之类的组件.由于手机的屏 ...
- Android学习第三天 创建demo 电话拨号器
Hello World! 打开Android Studio,点击右上角"File"=>"New"=>"New Project" ...
- android创建布局文件,android学习——Android Studio下创建menu布局文件
一.问题: android studio项目中没有看到menu文件夹: 在android studio项目中想要添加menu布局文件,一开始我的做法是:直接在res文件夹右键选择xml文件来添加,如下 ...
- 【Android Developers Training】 20. 创建一个Fragment
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- android学习笔记之Fragment(一)
2019独角兽企业重金招聘Python工程师标准>>> Fragment(Android3.0 API Level 11引入,之前的怎么办? 没关系可以使用Android suppo ...
- android移除fragment,Fragment 的创建、替换与移除
一.前言 Fragment 是从 Android 3.0 开始引入的,翻译过来就是碎片的意思.Fragment 的作用以及使用场景我就不赘述了.这篇博文我们就主要讲 Fragment 的创建.替换与移 ...
- Android学习笔记 2.5.3 实例——使用SimpleAdapter创建ListView 2.5.4 自动完成文本框(AutoCompleteTextView)的功能与用法
Android学习笔记 疯狂Android讲义 文章目录 Android学习笔记 疯狂Android讲义 第2章 Android 应用的界面编程 2.5 第4组 UI组件:AdapterView及其子 ...
- Android学习笔记-recreate()方法导致fragment重复新建的问题,解决方法
Android学习笔记-recreate()方法导致fragment重复新建的问题,解决方法 今天修改一个比较奇怪的bug: 在操作一个事件的时候,使用eventbus来监听事件,断点发现有时候是会执 ...
最新文章
- 在 Linux 系统中安装Load Generator ,并在windows 调用
- FFmpeg AVCodecContext结构体debug变量剖析
- 电脑CPU选购的几个指标
- linux网络编程 华清,Linux网络编程之套接字
- java数组末尾添加元素_JavaScript 数组 Array对象增加和删除 元素
- (转)STORM启动与部署TOPOLOGY
- 【Vegas原创】红烧肉的做法
- android示例程序剖析之记事本,Android实现记事本项目完整实例,附源代码
- html5 sha1,js-sha1加密
- Android多分辨率适配框架(1)— 核心基础
- 打印机不打印计算机原因,打印机打印不完整?是这10个原因造成的!打印必备...
- java录入学生信息_java实现学生成绩录入系统
- BAT批处理文本替换
- Python Flask框架
- 三、Linux命令之cp
- c语言贪吃蛇大作业报告,C语言贪吃蛇实验报告
- 第09课:生活中的工厂模式——你要拿铁还是摩卡
- 23吉林大学软件学硕经验贴
- BF518的interrupt
- raid技术快速入门