一、fragment的静态使用

  1.使用步骤:  

     a.继承fragment   重写onCreatevVew()的回调方法

   b.设置Fragment的布局

   c.在Activity中声明Fragment  使用方式与控件相同

  2.代码展示:

 a.继承fragment   重写onCreatevVew()的回调方法
public class TileFragment extends Fragment {
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.tilefragment, null);
}
}
b.设置Fragment的布局<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
android:layout_height="50dp"
android:orientation="horizontal"> //忘记写会有控件覆盖,会报错的 <ImageView
android:id="@+id/iv_bck"
android:layout_width="35dp"
android:layout_height="35dp"
android:src="@mipmap/ic_launcher" /> <TextView
android:gravity="center"
android:layout_marginLeft="10dp"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="我是标题"
/>
</LinearLayout> c.在Activity中声明Fragment  使用方式与控件相同
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" //这个忘写会报错误,很难找出来的
tools:context=".MainActivity"> <fragment
android:name="com.example.zhang.myapplication.TileFragment" ----------->引用标签来静态加载fragment的数据
android:layout_width="match_parent"
android:layout_height="50dp"></fragment>
</LinearLayout> 二、fragment的动态使用
  a.创建Fragment的管理器对象
  b.获取Fragment的事物对象并开启
  c.调用事物的动态方法:动态的添加、动态的删除、动态的替换
  d.提交事物
  
  在xml文件中的代码,在布局文件中写好布局并设置ID,通过FragmentTransation.add去动态添加
  <LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="50dp"
android:id="@+id/fragment_tile"
/>
  <LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/frag_content"
/>
  //获得FragmentManager的对象
  FragmentManager manager = getSupportFragmentManager();
  //获取Fragment的事物对象并开始
  FragmentTransaction transaction = manager.beginTransaction();
  //动态添加fragment (add remove replace)
  transaction.add(R.id.fragment_tile, new TileFragment());
  transaction.add(R.id.frag_content, new ContentFragment());
  //提交获得的事物
  transaction.commit(); 三、Fragment的生命周期
  1.第一次启动app的时候
    onAttach:activity与fragment的产生关联时候进行回调
    onCreateView : 用户第一次绘制界面
    onActivityCreate : fragment与activity创建成功进行回调

  2.切换其他fragment的时候

  3.返回第一次启动的fragment的时候

  4.按home键的时候

  5.home键之后再重新返回当前界面

  6.按back键的时候

  7.fragment和activity的生命周期

     

   


  

  

Android-------------fragment的学习的更多相关文章

  1. android fragment 博客 学习记录

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

  2. Android Fragment应用实战

    现在Fragment的应用真的是越来越广泛了,之前Android在3.0版本加入Fragment的时候,主要是为了解决Android Pad屏幕比较大,空间不能充分利用的问题,但现在即使只是在手机上, ...

  3. Android Fragment应用实战,使用碎片向ActivityGroup说再见

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/13171191 现在Fragment的应用真的是越来越广泛了,之前Android在3 ...

  4. 【转】基于Android Fragment功能的例子

    原文网址:http://blog.csdn.net/eyu8874521/article/details/8252216 通过最近空闲时候对Fragment的学习,尝试着写了一个小Demo,将在开发的 ...

  5. 基于Android Fragment功能的样例

    通过近期空暇时候对Fragment的学习,尝试着写了一个小Demo,将在开发的时候能经常使用到的Fragment知识放在一起,写过了这个Demo对Android Fragment的了解更加深入了,以后 ...

  6. Android编程权威指南笔记3:Android Fragment讲解与Android Studio中的依赖关系,如何添加依赖关系

    Android Fragment 当我在学习时,了解了Fragment词汇 Fragment是一种控制器对象,我就把所了解的简单说一下.activity可以派fragment完成一些任务,就是管理用户 ...

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

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

  8. Android Fragment使用(四) Toolbar使用及Fragment中的Toolbar处理

    Toolbar作为ActionBar使用介绍 本文介绍了在Android中将Toolbar作为ActionBar使用的方法. 并且介绍了在Fragment和嵌套Fragment中使用Toolbar作为 ...

  9. Android Fragment使用(三) Activity, Fragment, WebView的状态保存和恢复

    Android中的状态保存和恢复 Android中的状态保存和恢复, 包括Activity和Fragment以及其中View的状态处理. Activity的状态除了其中的View和Fragment的状 ...

  10. Android Fragment使用(二) 嵌套Fragments (Nested Fragments) 的使用及常见错误

    嵌套Fragment的使用及常见错误 嵌套Fragments (Nested Fragments), 是在Fragment内部又添加Fragment. 使用时, 主要要依靠宿主Fragment的 ge ...

随机推荐

  1. css样式优先级和权重问题

    内联样式: <div style="font-size: 12px;">姓名</div> 外部样式: <link rel="styleshe ...

  2. dbus通信与接口介绍

    DBUS是一种高级的进程间通信机制.DBUS支持进程间一对一和多对多的对等通信,在多对多的通讯时,需要后台进程的角色去分转消息,当一个进程发消息给另外一个进程时,先发消息到后台进程,再通过后台进程将信 ...

  3. TPM、read counts、RPKM/FPKM你选对了吗?

    TPM.read counts.RPKM/FPKM你选对了吗? 已有 3940 次阅读 2017-12-15 15:04 |个人分类:RNA-seq|系统分类:科普集锦|关键词:RNA-seq| RN ...

  4. 1. Install Git and GitExtension

    Install Git Step 1:   Run

  5. Netty系列(四)TCP拆包和粘包

    Netty系列(四)TCP拆包和粘包 一.拆包和粘包问题 (1) 一个小的Socket Buffer问题 在基于流的传输里比如 TCP/IP,接收到的数据会先被存储到一个 socket 接收缓冲里.不 ...

  6. oracle去重试验

    http://blog.csdn.net/lunajiao/article/details/76014488

  7. c++编程思想里面的错误(可能c++标准变了,所以以前的东西没有更新)

    第一卷  第五章 5.3友元 下面的代码是<c++编程思想>里面的代码, struct X; struct Y{ void f(X*); }; struct X{ private: int ...

  8. Error creating bean with name 'sessionFactory' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is org.hibernate.HibernateException: Unable t

    spring与hibernate整合然后出现如下错误: org.springframework.beans.factory.BeanCreationException: Error creating ...

  9. 继承方法-->原型的相互引用

    function Father(){} Father.prototype.name = 'zhang'; function Son(){} function inherit(Target,Orgin) ...

  10. modelsim读写TXT文件

    //open the file Initial Begin step_file = $fopen("F:/Company/Src/txt/step.v","r" ...