Fragment介绍(一)

1 概述

Fragment是在Android 3.0开始引入fragment的,简单理解可以把它当成 activity中的模块,这个模块有自己的布局,有自己的生命周期,单独处理自己的输入,在Activity运行的时候可以加载或移除fragment模块

2 适用场景

当开发的应用程序同时适用于平板电脑和手机时,可利用fragment实现灵活的布局,改善用户体验

3 生命周期

因为fragment必须嵌入在activity中使用,所以fragment的生命周期和它所在的activiy是密切相关的

Fragmemt

4 如何把fragment加入activity

Fragment有两种加载方式:一种是在Activity的layout中使用标签<fragment>声明;另一种方法是在代码中把它加入到一个指定的ViewGroup中。

加载方式1:通过Activity的布局文件将Fragment加入Activity

在Activity的布局文件中,将Fragment作为一个子标签加入即可

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="horizontal"

android:layout_width="match_parent"

android:layout_height="match_parent">
    <fragment android:name="com.example.news.ArticleListFragment"                         android:id="@+id/list"

android:layout_weight="1"

android:layout_width="0dp"

android:layout_height="match_parent" />
    <fragment android:name="com.example.news.ArticleReaderFragment"                            android:id="@+id/viewer"

android:layout_weight="2"

android:layout_width="0dp"

android:layout_height="match_parent" />
</LinearLayout>

加载方式2:通过编程的方式将Fragment加入到一个ViewGroup中

当Activity处于Running状态下的时候,可以在Activity的布局中动态地加入Fragment,只需要指定加入这个Fragment的父View Group即可。首先,需要一个FragmentTransaction实例: 

FragmentManager fragmentManager == fragmentManager.beginTransaction();

  (注,如果import android.support.v4.app.FragmentManager;那么使用的是:FragmentManager fragmentManager = getSupportFragmentManager();) 

  之后,用add()方法加上Fragment的对象:

ExampleFragment fragment =

  其中第一个参数是这个fragment的容器,即父控件组。

时间: 2024-08-01 15:52:51

Fragment介绍(一)的相关文章

Fragment介绍

Fragment允许将Activity拆分成多个完全独立封装的可重用的组件,每个组件有它自己的生命周期和UI布局. Fragment最大的优点就是你可以为不同屏幕大小的设备创建灵活动态的UI. 每个Fragment都是独立的模块,并与它所绑定的Activity紧密联系在一起的.多个Activity可以共用一个Fragment. Fragment为大量的不同型号.尺寸.分辨率的设备提供了一种统一的 UI优化方案. 可以通过继承Fragment类来创建一个新的Fragment.在大多数情况下,需要为

【Android UI设计与开发】4.底部菜单栏(一)Fragment介绍和简单实现

TabActivity在Android4.0以后已经被完全弃用,取而代之的是Fragment.Fragment是Android3.0新增的概念,Fragment翻译成中文是碎片的意思,不过却和Activity十分的相似.以下内容适用于3.0及以上的版本,3.0以下就不再赘述. 官方文档地址:http://developer.android.com/reference/android/support/v4/app/Fragment.html 一.Fragment的基础知识介绍 1.Fragment

Android——Fragment介绍及两种基本使用方法

今天在调ViewPager的时候,感觉ViewPager+Fragment这种做法更灵活,所以,现在拿出来Fragment再整理下. 一,为什么要用Fragment 1,灵活布局 Fragment表现Activity中用UI的一个行为或者一部分.可以组合多个fragment放在一个单独的activity中来创建一个多界面区域的UI,并可以在多个activity里重用某一个fragment.把fragment想象成一个activity的模块化区域,有它自己的生命周期,接收属于它的输入事件,并且可以

安卓之碎片Fragment介绍

Android是在Android 3.0 (API level 11)开始引入Fragment的. Android运行在各种各样的设备中,有小屏幕的手机,超大屏的平板甚至电视.针对屏幕尺寸的差距,很多情况下,都是先针对手机开发一套App,然后拷贝一份,修改布局以适应平板神马超级大屏的.难道无法做到一个App可以同时适应手机和平板么,当然了,必须有啊.Fragment的出现就是为了解决这样的问题.你可以把Fragment当成Activity的一个界面的一个组成部分,甚至Activity的界面可以完

【Android基础】Fragment 详解之Fragment介绍

Fragment在Android 3.0( API 11)引入,是为了支持在大屏上显示更加动态.灵活的UI,比如在平板和电视上.Fragment可以看作是嵌套的Activity,类似ActivityGroup,但是开销肯定没有ActivityGroup那么大,每一个Fragment管理着一个View,Fragment彼此之间相互独立,有自己的生命周期,这个生命周期是在Activity生命周期中的.Fragment可以用来解决屏幕适配和动态创建View的问题. 一个Fragment总是嵌入到一个A

首页-底部Tab导航(菜单栏)的实现:FragmentTabHost+ViewPager+Fragment

前言 Android开发中使用底部菜单栏的频次非常高,主要的实现手段有以下: - TabWidget - 隐藏TabWidget,使用RadioGroup和RadioButton - FragmentTabHost - 5.0以后的TabLayout - 最近推出的 Bottom navigation 今天带大家来探索下如何用Fragment+FragmentTabHost++ViewPager 实现底部菜单栏 目录 总体设计思路 Fragment:存放不同选项的页面内容 FragmentTab

【Android UI设计与开发】5.底部菜单栏(二)使用Fragment实现底部菜单栏

既然 Fragment 取代了TabActivity,当然 TabActivity 的能实现的菜单栏,Fragment 当然也能实现.主要其实就是通过菜单栏的点击事件切换 Fragment 的显示和隐藏. 来看看栗子吧: 1.效果图来了: 2.代码具体实现 (1)对应的 Fragment 编辑代码和布局实现在前面的Fragment介绍和简单实现  中已经有提及,代码中没复杂的地方,此处略过,具体可看实例代码. (2)菜单栏实现,这里使用代码实现的,其实也可以用布局文件实现,代码如下: packa

Android -- 使用Fragment

Fragment类似与Activity,可以使用它进行多个页面间的切换(A页面跳转到B页面),之前我们了解过,通过Activity也可以实现这样的操作(http://blog.csdn.net/gaopeng0071/article/details/45043967).那为什么会出现Fragment呢,下面我们来看看 Fragment介绍 Android运行在各种各样的设备中,有小屏幕的手机,超大屏的平板甚至电视.针对屏幕尺寸的差距,很多情况下,都是先针对手机开发一套App,然后拷贝一份,修改布

安卓笔记:Fragment

1.Fragment 介绍:http://www.cnblogs.com/mengdd/archive/2013/01/08/2851368.html Android是在Android 3.0 (API level 11)开始引入Fragment的. 可以把Fragment想成Activity中的模块,这个模块有自己的布局,有自己的生命周期,单独处理自己的输入,在Activity运行的时候可以加载或者移除Fragment模块. 可以把Fragment设计成可以在多个Activity中复用的模块