• android——fargment基础


    1、Fragment的产生与介绍

    Android运行在各种各样的设备中,有小屏幕的手机,超大屏的平板甚至电视。针对屏幕尺寸的差距,很多情况下,都是先针对手机开发一套App,然后拷贝一份,修改布局以适应平板神马超级大屏的。难道无法做到一个App可以同时适应手机和平板么,当然了,必须有啊。Fragment的出现就是为了解决这样的问题。你可以把Fragment当成Activity的一个界面的一个组成部分,甚至Activity的界面可以完全有不同的Fragment组成,更帅气的是Fragment拥有自己的生命周期和接收、处理用户的事件,这样就不必在Activity写一堆控件的事件处理的代码了。更为重要的是,你可以动态的添加、替换和移除某个Fragment。

    2.生命周期(图)

      

    可以看到Fragment比Activity多了几个额外的生命周期回调方法:
    onAttach(Activity)
    当Fragment与Activity发生关联时调用。
    onCreateView(LayoutInflater, ViewGroup,Bundle)
    创建该Fragment的视图
    onActivityCreated(Bundle)
    当Activity的onCreate方法返回时调用
    onDestoryView()
    与onCreateView想对应,当该Fragment的视图被移除时调用
    onDetach()
    与onAttach相对应,当Fragment与Activity关联被取消时调用

    fragment常用api

      

    Fragment常用的三个类:

    android.app.Fragment 主要用于定义Fragment

    android.app.FragmentManager 主要用于在Activity中操作Fragment

    android.app.FragmentTransaction 保证一些列Fragment操作的原子性,熟悉事务这个词,一定能明白~

    a、获取FragmentManage的方式:

    getFragmentManager() // v4中,getSupportFragmentManager

    b、主要的操作都是FragmentTransaction的方法

    FragmentTransaction transaction = fm.benginTransatcion();//开启一个事务

    transaction.add() 

    往Activity中添加一个Fragment

    transaction.remove()

    从Activity中移除一个Fragment,如果被移除的Fragment没有添加到回退栈(回退栈后面会详细说),这个Fragment实例将会被销毁。

    transaction.replace()

    使用另一个Fragment替换当前的,实际上就是remove()然后add()的合体~

    transaction.hide()

    隐藏当前的Fragment,仅仅是设为不可见,并不会销毁

    transaction.show()

    显示之前隐藏的Fragment

    detach()

    会将view从UI中移除,和remove()不同,此时fragment的状态依然由FragmentManager维护。

    attach()

    重建view视图,附加到UI上并显示。

    transatcion.commit()//提交一个事务

      

      

     
  • 相关阅读:
    caffe_实战之两个简单的例子(物体分类和人脸检测)
    《Caffe下跑AlxNet之数据处理过程》
    git使用小结
    说好的博客
    C++入门学习
    第一篇 一步一步看透C++
    第一百六十三节,jQuery,基础核心
    第一百六十二节,jQuery入门介绍
    第一百六十一节,封装库--JavaScript,完整封装库文件
    第一百六十节,封装库--JavaScript,ajax注册表单到数据库
  • 原文地址:https://www.cnblogs.com/mark0812/p/6171251.html
Copyright © 2020-2023  润新知