zoukankan      html  css  js  c++  java
  • Android Fragment用法知识点的讲解

    标题图

    Android Fragment用法的讲解

    碎片,它的出现是为了更好展示UI的设计,让程序更加得到充分的展示。Fragment的出现,如微信的额主界面包含多个Fragment,使得微信功能更加简洁明了。

    Android Fragment用法的讲解.png

    Fragment组件

    Android Fragment组件.png

    FragmentAndroid 3.0 的时候被引入的,主要目的是为了给大屏幕(如平板电脑)添加动态和灵活的UI支持。利用Fragment实现更好的用户体验。

    图片

    Fragment加载

    1. 静态加载:添加FragmentActivity布局中,以xml的形式。
    2. 动态加载:
    <LinearLayout
     android:id="@+id/layout"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:orientation="horizontal">
    </LinearLayout>
    
    //动态加载
    MyFragment fragment = new MyFragment();
    
    FragmentManager fragmentManager = getFragmentManager();
    FragmentTransaction beginTransaction = fragmentManager.beginTransaction();
    beginTransaction.add(R.id.layout,fragment);
    beginTransaction.addToBackStack(null);
    beginTransaction.commit();
    

    第一步,获取一个FragmentManager对象,getFragmentManager()方法,beginTransaction()

    第二步,beginTransaction.add()add()方法,容器视图资源Id

    第三步,调用addToBackStack(true)方法,目的为了允许用户通过按下返回按键返回到前一个Fragment状态,beginTransaction.commit()提交。

    FragmentPagerAdapter和FragmentStatePagerAdapter

    FragmentPagerAdapter适用于页面较少的情况,把UI分离,并没有回收,FragmentStatePagerAdapter适用于页面较多的情况,每次切换会回收内存的。

    Fragment生命周期

    Fragment有四种状态:运行状态,暂停状态,停止状态,销毁状态。

    图片来源官方:

    生命周期

    onAttach():
    一旦片段与其活动相关联就被调用;

    onCreate():
    片段被调用创建;

    onCreateView():
    创建并返回相关的视图结构;

    onActivityCreated():
    表示活动已被创建完成了,这里是activity创建成功;

    onStart():
    片段对用户可见;

    onResume():
    片段与用户开始交互;

    onPause():
    片段与用户不再交互;

    onStop():
    片段不再对用户可见;

    onDestroyView():
    销毁与其View相关资源;

    onDestroy():
    销毁一切片段;

    onDetach():
    片段与其活动不再相关联。

    打开界面:onCreate() -> onCreateView() -> onActivityCreated()->onStart()-> onResume()

    Home:onPause() -> onStop()

    回到界面: onStart() -> onResume()

    回退: onPause() -> onStop() -> onDestroyView() -> onDestroy()-> onDetach()

    Fragment通信

    Fragment通信.png

    MyFragment myFragment = (MyFragment)fragmentManager(). findFragmentById(R.id.layout);
    
    MainActivity activity=(MainActivity)getActivity();
    

    Fragment方法

    1. replace()FragmentManager的方法。
    2. add()添加
    3. remove()删除

    结语

    • 本文主要讲解 Android Fragment用法知识点的讲解

    • 下面我将继续对Java、 Android中的其他知识 深入讲解 ,有兴趣可以继续关注

    • 小礼物走一走 or 点赞

    送❤

  • 相关阅读:
    vim同时打开编辑多个文件
    OOB区之初认识
    nandflash擦除、写操作的状态判断
    NFS挂载文件系统:unable to get mount port number from server, using default
    交叉调试出错
    (转)C++中extern “C”含义深层探索
    arm汇编程序中的[|]
    nanflash编程的地址问题
    c# ListView控件的常用屬性、方法及事件
    ListBox常用屬性和常用事件
  • 原文地址:https://www.cnblogs.com/dashucoding/p/9434506.html
Copyright © 2011-2022 走看看