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 点赞

    送❤

  • 相关阅读:
    抓老鼠啊
    币值转换
    打印沙漏
    秋季学习总结
    第五周课程总结&试验报告(三)
    第四周课程总结&试验报告2
    实验报告一 &第三周课程总结
    Java第二周总结
    2019春总结作业
    第十六周
  • 原文地址:https://www.cnblogs.com/dashucoding/p/11932544.html
Copyright © 2011-2022 走看看