1.简介
Android 3.0 (API level 11)开始引入Fragment。
Fragment实际上可以算是Activity中的模块,它有自己的布局、生命周期,可以单独处理自己的输入。可以设计在Activity中复用。
2.生命周期
Fragment嵌入到Activity中使用,所以它的生命周期与它所在的Activity有关。
Activity暂停,其包含的全部Fragment都暂停;
Activity停止,其包含的全部Fragment都不能被启动;
Activity被销毁,其包含的所有Fragment都会被销毁。
当Activity出于活动状态时,内嵌在其中的Fragment可以独立进行控制,如移除、新增等。
3.Fragment的基本使用
1)Fragment的新建,定义一个类,继承Fragment,调用noCreateView方法,然返回一个Fragments可使用的View
=>继承时要注意可使用的最低版本
=>android.app.Fragment最低向下支持Android3.0版本
=>android.support.v4.app.Fragment扩展包保证可向下兼容至Android2.0版本
=>代码如下:
package com.sj.fragmentsforandroid;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class New_Fragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
View view = inflater.inflate(R.layout.activity_01, container,false);
return view;
}
}
onCreateView()方法中:
container参数表明当前Fragment在Activity中的父控件是谁;
savedInstanceState提供了之前使用的一个实例的数据。
onCreateView()方法调用了inflate()方法,它包含了三个参数:
R.layout.activity_01,是一个resource ID,是当前Fragment所对应的资源文件;
container,表示父容器控件;
第三个是布尔值参数,true表示要连接该布局和其父容器控件,false则不连接,系统已经插入了这个布局到父控件,所以此处设置为false,如果设置为true将会产生多余的一个ViewGroup。
2)添加Fragment到Activity,加载方式有两种
一种是使用标签<fragment>在Activity的layout中声明,将Fragment作为一个子标签加入。
示例如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<fragment
android:id="@+id/fragment_01"
android:name="com.sj.fragmentsforandroid.Fragment_01"
android:layout_width="wrap_content"
android:layout_height="100dp" />
<fragment
android:id="@+id/fragment_02"
android:name="com.sj.fragmentsforandroid.Fragment_02"
android:layout_width="wrap_content"
android:layout_height="100dp" />
</LinearLayout>
注意:这里面的android:name="com.sj.fragmentsforandroid.Fragment_02"中填上创建的完整的Fragment类名(包含了类所在的包名);同时,加载了多个fragment时,要记得给每一个都加上属于自己的id,否则就会提示id重复,从而导致出错。
另一种是通过编程的方式将Fragment加入到一个ViewGroup中,本文暂不说明,因为作者还未明白。
相关推荐
Android Training系列是Google提供的一系列教程,旨在帮助开发者提升技能,而"Android Training学习笔记——Navigation 参考源码"则是对这一主题的深入探讨。 首先,Navigation组件的核心概念是Navigation Graph,...
这篇“Android Training学习笔记——Navigation 参考源码(ListView版)”深入探讨了如何使用Navigation构建一个基于ListView的导航系统。我们将从以下几个方面来详细讨论这个主题: 1. **Navigation组件简介** ...
本篇文章将深入探讨`NavigationView`与`Navigation`组件的使用,结合Android Training的学习笔记,我们将理解其核心概念、功能以及如何在实践中应用。 `NavigationView`是Android Design Support Library的一部分,...
这份名为“安卓笔记——安卓详细笔记汇总”的资源,无疑是安卓开发者或者学习者的重要参考资料。以下将对这个压缩包中可能包含的知识点进行深入解析。 首先,Android系统是基于Linux内核的开源操作系统,广泛应用于...
在Android应用开发中,"碎片"(Fragment)是Android 3.0版本引入的一个重要组件,它是Activity的一个模块化部分,可以独立存在并被插入到Activity的不同布局位置。本篇学习笔记将深入探讨碎片的生命周期,这对于理解...
通过学习这篇笔记,你将能够更好地理解和掌握Android开发中的这一关键特性。 碎片的定义: 碎片是一种可以插入到Activity中的UI模块,它允许开发者在大屏幕设备如平板电脑上构建多面板用户界面。在小屏设备上,碎片...
《Android群英传笔记》是一份详尽的关于Android开发的学习资料,涵盖了Android开发的核心概念、关键技术和实战应用。这份笔记旨在帮助开发者深入理解Android系统的工作原理,掌握开发技巧,并能应用于实际项目中。 ...
在Android的学习过程中,理解和掌握碎片的使用能提升应用的用户体验和功能多样性。 首先,我们需要理解碎片的基本概念。碎片是Android 3.0(API级别11)引入的一种组件,它可以独立于Activity存在,有自己的生命...
在Android应用开发中,碎片(Fragment)是一种可重用的UI组件,它可以嵌入到活动(Activity)中,使得在不同屏幕尺寸和配置下能够更好地展示内容。碎片间的交互是Android应用设计中不可或缺的一部分,特别是在构建...
这次将继续上一篇文章没有讲完的Menu的学习,上下文菜单(Context menu)和弹出菜单(Popup menu)。 上下文菜单 上下文菜单提供对UI界面上的特定项或上下文框架的操作,就如同Windows中右键菜单一样。 在Android中,有...
在"Android源码——小米系统之便签源码.7z"中,我们可以研究到以下关键知识点: 1. **Android应用程序结构**:便签应用源码会展示一个典型的Android应用结构,包括`MainActivity`、`Fragment`、`Service`、`...
这个压缩包文件“安卓Android源码——适合新手的简单记事本项目.zip”是一个专为初学者设计的Android应用项目,旨在帮助他们理解和学习Android应用开发的基础知识。项目中的源码是一个简单的记事本应用程序,它能...
【描述】"安卓Android源码——小米便签源代码分享.zip"表明这是一份开源项目,开发者或学习者可以下载并研究其内部实现。源代码的开放性为开发者提供了学习Android应用程序架构、功能实现和最佳实践的宝贵机会。通过...
【标题】"安卓Android源码——仿小米便签"是一个关于安卓应用开发的项目,它旨在实现一个类似于小米便签的应用。这个项目的核心是通过分析和理解小米便签的功能和界面设计,用Android原生代码来创建一个类似的用户...
【Android 入门学习笔记】 Android 是一种广泛使用的开源操作系统,尤其在移动设备如智能手机和平板电脑上。本文旨在帮助初学者理解 Android 开发的基本概念和步骤,通过环境搭建、案例讲解来逐步深入。 首先,...
7. **数据存储**:Android提供多种数据存储方式,如SQLite数据库、SharedPreferences、文件系统等,便签应用可能使用其中一种来保存用户的笔记。 8. **生命周期管理**:理解Activity和Fragment的生命周期是开发...
《安卓Android源码深度探索——以Mi_Notes为例》 在深入探讨安卓Android源码之前,我们首先要明白,源码是软件开发的核心,它揭示了应用程序的内部运作机制。对于Android系统,开源特性使得开发者能够深入理解其...
【Android源码解析——坦克大战游戏开发】 在Android开发领域,源码分析是提升技能的重要途径,特别是通过实际的游戏源码,我们可以深入了解Android游戏开发的流程和技术细节。本压缩包包含了一个名为“坦克大战”...
Android是一个开源的操作系统,由谷歌公司主导开发,广泛应用于智能手机和平板电脑。它的源码是公开的,允许开发者进行深度定制和二次开发。MIUI则是中国小米公司基于Android系统打造的深度定制用户界面,以其丰富的...
通过这份"Android开发教程笔记完全版",开发者不仅可以获得全面的理论知识,还能学习到实用的技巧和最佳实践,从而在Android开发的世界里游刃有余。无论你是初学者还是寻求进阶的开发者,这份资料都将是你宝贵的参考...