• Fragment-1-介绍


    参考博客

    简介

    fragment: 碎片,  用于多屏显示 可以把activity里面的逻辑进行分离. Fragment是activity的界面中的一部分或一种行为. 可以多个Fragment组合到一个activity中来创建一个界面. 并且可以在多个activity中重用一个Fragment可以把Fragment任务模块化的一段activity,它具有自己的生命周期接收它自己的事件,并可以在activity运行时被添加或删除

     

    Fragment不能独立存在,它必须嵌入到activity中,而且Fragment的生命周期直接受所在的activity的影响。如:当activity暂停时,他拥有的所有的Fragment都暂停了,当activity销毁时,他拥有的所有Fragment都被销毁。然而,当activity运行时(在onResume()之后,onPause()之前),可以单独地操作每个Fragment,比如添加或删除它们。当中执行上述针对Fragment的事务时,可以将事务添加到一个栈中,这个栈被activity管理,栈中的每一条都是一个Fragment的一次事务。有了这个栈,就可以反向执行Fragment的事务,这样就可以在Fragment级支持“返回”键(向后导航).

     

    当向activity中添加一个Fragment时,它须置于ViewGroup控件中,并且需定义Fragment自己的界面。可以在layout.xml布局文件中声明Fragment,元素为:<fragment>;也可以在代码中创建Fragment,然后把它加入到ViewGroup控件中。然而,Fragment不一定非要放在activity的界面中,它可以隐藏在后台为activity工作。

    Fragment生命周期

    下图为fragment的生命周期(它所在的activity处于运行状态)

    注意一点: onCreateView方法执行时, 要求返回一个view, 如果返回为空, 报错. 即是说, fragment上面必须有view才能被显示。
     
    fragment与activity的生命周期密切相关:

    Fragment的派生类

    DialogFragment

        显示一个浮动的对话框。使用这个类创建对话框是替代activity创建对话框的最佳选择。因为可以把fragmentdialog

    放入到activity的返回栈中,使用户能再返回到这个对话框。

     

    ListFragment

        显示一个列表控件,就像ListActivity类,它提供了很多管理列表的方法,比如onListItemClick()方法响应click事件。

     

    PreferenceFragment

        显示一个由Preference对象组成的列表,与PreferenceActivity相同。它用于为程序创建“设置”activity。

     

    Fragment的使用方式

    1. 在activity的布局文件中配置<fragment>标签, 然后写个类继承Fragment, 再写其对应的布局文件
        这种方法其实相当于把fragment布局文件中的东西include到activity中.
    2. 在Activity中使用FragmentManager动态添加, 删除, 替换. 
        本质上也还是吧fragment中的东西include到activity中, fragment中的东西, activity中都可以用.
     
  • 相关阅读:
    你对线程优先级的理解是什么?
    Java 中 notify 和 notifyAll 有什么区别?
    线程之间是如何通信的?
    多线程同步有哪几种方法?
    CyclicBarrier 和 CountDownLatch 的区别 ?
    int 和 Integer 有什么区别?
    Thread 类中的 yield 方法有什么作用?
    用最有效率的方法计算 2 乘以 8?
    volatile 关键字的作用 ?
    数组有没有 length()方法?String 有没有 length()方法?
  • 原文地址:https://www.cnblogs.com/gaoxiaoyuan/p/3835804.html
Copyright © 2020-2023  润新知