`

Android学习之——Fragment随堂笔记(一)

阅读更多

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中,本文暂不说明,因为作者还未明白。

 

 

 

 

 

 

 

 

 

0
1
分享到:
评论

相关推荐

    Android Training学习笔记——Navigation 参考源码

    Android Training系列是Google提供的一系列教程,旨在帮助开发者提升技能,而"Android Training学习笔记——Navigation 参考源码"则是对这一主题的深入探讨。 首先,Navigation组件的核心概念是Navigation Graph,...

    Android Training学习笔记——Navigation 参考源码(ListView版)

    这篇“Android Training学习笔记——Navigation 参考源码(ListView版)”深入探讨了如何使用Navigation构建一个基于ListView的导航系统。我们将从以下几个方面来详细讨论这个主题: 1. **Navigation组件简介** ...

    Android Training学习笔记——Navigation 参考源码(NavigationView版)

    本篇文章将深入探讨`NavigationView`与`Navigation`组件的使用,结合Android Training的学习笔记,我们将理解其核心概念、功能以及如何在实践中应用。 `NavigationView`是Android Design Support Library的一部分,...

    安卓笔记——安卓详细笔记汇总

    这份名为“安卓笔记——安卓详细笔记汇总”的资源,无疑是安卓开发者或者学习者的重要参考资料。以下将对这个压缩包中可能包含的知识点进行深入解析。 首先,Android系统是基于Linux内核的开源操作系统,广泛应用于...

    Android学习笔记(十五)——碎片的生命周期

    在Android应用开发中,"碎片"(Fragment)是Android 3.0版本引入的一个重要组件,它是Activity的一个模块化部分,可以独立存在并被插入到Activity的不同布局位置。本篇学习笔记将深入探讨碎片的生命周期,这对于理解...

    Android菜鸟成长笔记(十三)——碎片(一)

    通过学习这篇笔记,你将能够更好地理解和掌握Android开发中的这一关键特性。 碎片的定义: 碎片是一种可以插入到Activity中的UI模块,它允许开发者在大屏幕设备如平板电脑上构建多面板用户界面。在小屏设备上,碎片...

    Android群英传笔记

    《Android群英传笔记》是一份详尽的关于Android开发的学习资料,涵盖了Android开发的核心概念、关键技术和实战应用。这份笔记旨在帮助开发者深入理解Android系统的工作原理,掌握开发技巧,并能应用于实际项目中。 ...

    Android学习笔记(十四)——在运行时添加碎片

    在Android的学习过程中,理解和掌握碎片的使用能提升应用的用户体验和功能多样性。 首先,我们需要理解碎片的基本概念。碎片是Android 3.0(API级别11)引入的一种组件,它可以独立于Activity存在,有自己的生命...

    Android学习笔记(十六)——碎片之间进行交互(附源码)

    在Android应用开发中,碎片(Fragment)是一种可重用的UI组件,它可以嵌入到活动(Activity)中,使得在不同屏幕尺寸和配置下能够更好地展示内容。碎片间的交互是Android应用设计中不可或缺的一部分,特别是在构建...

    Android学习笔记——Menu介绍(二)

    这次将继续上一篇文章没有讲完的Menu的学习,上下文菜单(Context menu)和弹出菜单(Popup menu)。 上下文菜单 上下文菜单提供对UI界面上的特定项或上下文框架的操作,就如同Windows中右键菜单一样。 在Android中,有...

    Android源码——小米系统之便签源码.7z

    在"Android源码——小米系统之便签源码.7z"中,我们可以研究到以下关键知识点: 1. **Android应用程序结构**:便签应用源码会展示一个典型的Android应用结构,包括`MainActivity`、`Fragment`、`Service`、`...

    安卓Android源码——适合新手的简单记事本项目.zip

    这个压缩包文件“安卓Android源码——适合新手的简单记事本项目.zip”是一个专为初学者设计的Android应用项目,旨在帮助他们理解和学习Android应用开发的基础知识。项目中的源码是一个简单的记事本应用程序,它能...

    安卓Android源码——小米便签源代码分享.zip

    【描述】"安卓Android源码——小米便签源代码分享.zip"表明这是一份开源项目,开发者或学习者可以下载并研究其内部实现。源代码的开放性为开发者提供了学习Android应用程序架构、功能实现和最佳实践的宝贵机会。通过...

    安卓Android源码——仿小米便签.zip

    【标题】"安卓Android源码——仿小米便签"是一个关于安卓应用开发的项目,它旨在实现一个类似于小米便签的应用。这个项目的核心是通过分析和理解小米便签的功能和界面设计,用Android原生代码来创建一个类似的用户...

    Android入门学习笔记

    【Android 入门学习笔记】 Android 是一种广泛使用的开源操作系统,尤其在移动设备如智能手机和平板电脑上。本文旨在帮助初学者理解 Android 开发的基本概念和步骤,通过环境搭建、案例讲解来逐步深入。 首先,...

    安卓Android源码——[安卓开源]便签软件.zip

    7. **数据存储**:Android提供多种数据存储方式,如SQLite数据库、SharedPreferences、文件系统等,便签应用可能使用其中一种来保存用户的笔记。 8. **生命周期管理**:理解Activity和Fragment的生命周期是开发...

    安卓Android源码——Mi_Notes.zip

    《安卓Android源码深度探索——以Mi_Notes为例》 在深入探讨安卓Android源码之前,我们首先要明白,源码是软件开发的核心,它揭示了应用程序的内部运作机制。对于Android系统,开源特性使得开发者能够深入理解其...

    安卓Android源码——坦克大战游戏源码.zip

    【Android源码解析——坦克大战游戏开发】 在Android开发领域,源码分析是提升技能的重要途径,特别是通过实际的游戏源码,我们可以深入了解Android游戏开发的流程和技术细节。本压缩包包含了一个名为“坦克大战”...

    安卓Android源码——MIUI便签.zip

    Android是一个开源的操作系统,由谷歌公司主导开发,广泛应用于智能手机和平板电脑。它的源码是公开的,允许开发者进行深度定制和二次开发。MIUI则是中国小米公司基于Android系统打造的深度定制用户界面,以其丰富的...

    Android开发教程笔记完全版

    通过这份"Android开发教程笔记完全版",开发者不仅可以获得全面的理论知识,还能学习到实用的技巧和最佳实践,从而在Android开发的世界里游刃有余。无论你是初学者还是寻求进阶的开发者,这份资料都将是你宝贵的参考...

Global site tag (gtag.js) - Google Analytics