一、Fragment主要用到的API:  

  1.Fragment 类-----用来创建碎片

  2.FragmentManager 类 ----为管理Activity中Fragment,用于Activity与Fragment之间进行交互.

  3.FragmentTransaction 类 ---用碎片管理器创建碎片事务,用碎片事务来执行碎片的添加,移除,替换,显示,隐藏等操作

二、fragment 可认为是一个轻量级的Activity,但不同与Activity,它是要嵌到Activity中来使用的,它用来解决设备屏幕大小的不同,主要是充分利用界面上的空间,如平板上多余的空间。一个Activity可以插入多个Fragment,可以认为Fragment就是Activity上的一个View。

  

三、Fragment的基本使用步骤

fragment 的布局文件===》fragment子类中用onCreateView()加载该布局===》在相应的Activity的布局文件中引用fragment===》在Activity中显示

上代码:

1.fragment 的布局文件:

myfragment.xml

 <?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" > <TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="我是碎片的视图"
android:textSize="30sp"/>
</LinearLayout>

2.fragment子类中用onCreateView()加载该布局:建一个Fragment的子类MyFrag,

 package com.robin.fragdemo.frag;

 import com.robin.fragdemo.R;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup; public class MyFrag extends Fragment{
@Override//用加载器inflater把fragment 的布局文件myfrag.xml变成一个View.
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view=inflater.inflate(R.layout.myrag, container,false);
return view;
}
}

3.在相应的Activity的布局文件中引用fragment

  MainActivity的布局文件 face.xml 中引用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不是view只是占位符 -->
<fragment
android:id="@+id/fragment"
android:name="com.robin.myfrag.frag.MyFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
com.robin.myfrag.frag.MyFrag------MyFrag的全类名。

4.在Activity中显示

 package com.robin.myfrag.act;

 import com.robin.myfrag.R;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log; public class MainAct extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.face);
}
}

这就是Fragment的基本使用步骤。

Fragment的基本用法的更多相关文章

  1. android关于fragment的构造函数用法建议

    错误信息 Avoid non-default constructors in fragments: use a default constructor plus Fragment#setArgumen ...

  2. ViewPage+Fragment的使用用法

    一.概述 从前面几篇文章,我们知道,实现ViewPager是要有适配器的,我们前面用的适配器是PagerAdapter,而对于fragment,它所使用的适配器是:FragmentPagerAdapt ...

  3. 【Android自学日记】【转】Android Fragment 真正的完全解析(下)

    上篇博客中已经介绍了Fragment产生原因,以及一些基本的用法和各种API,如果你还不了解,请看:Android Fragment 真正的完全解析(上). 本篇将介绍上篇博客提到的:如何管理Frag ...

  4. ruby -- 进阶学习(十二)fragment cache

    基于rails4.0环境 Rails 页面缓存的方法很多,最近弱弱地尝试了fragment cache,用法还算简单~@_@|| 首先,查看config/environment/production. ...

  5. 实现Fragment的切换和ViewPager自动循环设置切换时间

    1.FragmentActivity与Fragment之间的用法 2.实现ViewPager自动轮换,设置移动的时间 通过反射获取mScrooler这个对象: Field mScroller; mSc ...

  6. android fragment 博客 学习记录

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37992017 上篇博客中已经介绍了Fragment产生原因,以及一些基本的用法和 ...

  7. Android学习笔记(五)Fragment简介

    Fragment是在Android 3.0 (API level 11)中引入的Activity的子模块.初衷是为了适应大屏幕的平板电脑,我们只需要使用Fragment对UI组件进行分组.模块化管理, ...

  8. Android Fragment 真正的完全解析(下)---转

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37992017 上篇博客中已经介绍了Fragment产生原因,以及一些基本的用法和 ...

  9. <Android基础>(四) Fragment Part 1

    Fragment 1)Fragment的简单用法 2)动态添加Fragment 3)在Fragment中模拟返回栈 4)Fragment和活动之间通信 第四章 Fragment Fragment是一种 ...

随机推荐

  1. sql(转自http://www.imooc.com/article/2325)

    http://www.imooc.com/article/2325

  2. 七、context command

    context command是用来新建自己的工具,可以调用OPENGL,获取鼠标操作函数,在view窗口画自己想画的东西.(我是这麽理解的,可以以后再确定一下) 下面是一个context comma ...

  3. JavaScript笔记基础篇(二)

    基础篇主要是总结一些工作中遇到的技术问题是如何解决的,应为本人属于刚入行阶段技术并非大神如果笔记中有哪些错误,或者自己的一些想法希望大家多多交流互相学习. 1.ToFixed()函数 今天在做Birt ...

  4. ORCLE数据库导出导入

    从一个用户导出用户所有结构数据 再导入另一个用户里面 ORACLE导出用户下的数据库  exp 命令 用户名/密码服务名 文件地址  owner=(用户名)exp COM_HIOSC_OLD/COM_ ...

  5. C++去掉字符串中首尾空格和所有空格

    c++去掉首尾空格是参考一篇文章的,但是忘记文章出处了,就略过吧. 去掉首尾空格的代码如下: void trim(string &s) { if( !s.empty() ) { s.erase ...

  6. js处理用户输入的银行卡号实现四位一段,并且只能输入数字

    其中ABC是输入框的id.type="tel"可直接呼出数字键盘. <input type="tel" maxlength="24" ...

  7. js动态改变时间

    <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="C ...

  8. Linux与Windows API对比

    对象 操作 Linux API Windows API 线程 创建 pthread_create() CreateThread() 退出 pthread_exit() ThreadExit() 等待 ...

  9. Win7 64位系统 VS2010连接Oracle报错的问题

    1,异常现象: TNS无法识别 2,异常分析:VS2010启动调试的时候,出现异常.但是使用IIS作为服务器的时候,是不会出现异常,也就是可以正常访问到数据库,后来分析是由于VS自带服务器ASP.NE ...

  10. 根据excel表格中的内容更新Sql数据库

    关于[无法创建链接服务器 "(null)" 的 OLE DB 访问接口 SQL Server 2008读取EXCEL数据时,可能会报这个错误:无法创建链接服务器 "(nu ...