一: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) {
}