今日见解——Fragment

一:Fragment是什么

一个可以将activity拆分成几个完全独立封装的可重用的组件,每个组件有自己的生命周期和ui布局。Fragment其实可以理解为一个具有自己生命周期的控件,只不过这个控件又有点特殊,它有自己的处理输入事件的能力,有自己的生命周期,又必须依赖于Activity,能互相通信和托管。

二:Fragment静态加载怎么用

在Activity中静态加载Fragment的过程分为三步:
创建一个Layout文件,就是我们的Fragment的UI界面
创建一个类继承Fragment,然后重写里面的onCreateView方法,将Fragment的Layout变成View
在Layout布局文件中声明fragment,android:name属性里是我们上面创建的类,另外,fragment必须用id或tag作为唯一标识

三:Fragment动态加载怎么用

实现动态加载,我们需要先了解Fragment事务。熟悉数据库的同学都知道,事务指的就是一种原子性、不可拆分的操作。所谓的Fragment事务就是:对Fragment进行添加、移除、替换或执行其它动作,提交给Activity的每一个变化。这就是Fragment事务。
Fragment是UI模块,自然在一个Activity中可以不只有一个模块,所以Android提供了FragmentManager类来管理Fragment,FragmentTransaction类来管理事务。我们对Fragment的动态加载就是先将添加、移除等操作提交到事务,然后通过FragmentManager完成的。

四:ViewPager+Fragment实现页卡滑动

<LinearLayout
android:layout_width="match_parent"
android:layout_height="60dp">
<TextView
    android:id="@+id/tv_chat"
    android:text="聊天"
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:layout_weight="1"
    android:gravity="center"/>
<TextView
    android:id="@+id/tv_contact"
    android:text="联系人"
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:layout_weight="1"
    android:gravity="center"/>
<TextView
    android:id="@+id/tv_friends"
    android:text="朋友圈"
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:layout_weight="1"
    android:gravity="center"/>


contactFragment=new ContactFragment();
friendsFragment=new FriendsFragment();
chatFragment=new ChatFragment();

    fragmentList.add(contactFragment);
    fragmentList.add(friendsFragment);
    fragmentList.add(chatFragment);

     MyPagerAdapter adapter=new MyPagerAdapter(getSupportFragmentManager(),fragmentList);
    viewPager.setAdapter(adapter);
    viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

        }

五:Fragment生命周期

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值