Fragment的含义
Fragment,英文碎片的意思,早期应用在平板设计中。把整个页面分成几小块,分别展示不同的内容,更新展示也更方便。
如何实现Fragment
创建Fragment
1、新建一个类,继承Fragment。
2、重写onCreateView()方法,添加自定义布局UI界面。
显示Fragment
静态:
1、在Activity对应的布局中,添加标签。
2、添加布局标签,必须有name来标识当前Fragment。
MyFragment.java:
public class MyFragment extends Fragment {
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
Log.i("TAG2", "onCreateView: 创建Activity视图");
return inflater.inflate(R.layout.layout_fragment,container,false);
}
activity_main.xml:
<fragment
android:id="@+id/fragment"
android:name="com.example.day4.MyFragment"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
动态:
1、在Activity对应的页面中,用布局填充器占位。
2、在主Activity中获得管理者对象、事务管理者。
3、用事务管理实现添加、移除、显示、隐藏、替换。
创建多个自定义Fragment
public class MyFragment extends Fragment {
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
Log.i("TAG2", "onCreateView: 创建Activity视图");
return inflater.inflate(R.layout.layout_fragment,container,false);
public class MyFragment2 extends Fragment {
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
Log.i("TAG2", "onCreateView: 创建Activity视图");
View view = getLayoutInflater().inflate(R.layout.layout_fragment2, null);
return view;
}
在Activity声明
private MyFragment myFragment;
private MyFragment2 myFragment2;
//获得管理者
FragmentManager manager; manager = getSupportFragmentManager();
//获得事务管理者
FragmentTransaction fragmentTransaction = manager.beginTransaction();
// //添加|移除|显示|隐藏|替换
//
fragmentTransaction.add(R.id.framelayout,myFragment);
fragmentTransaction.add(R.id.framelayout2,myFragment2);
fragmentTransaction.remove(myFragment);
fragmentTransaction.show(myFragment);
fragmentTransaction.hide(myFragment);
//替换
fragmentTransaction.replace(R.id.framelayout,myFragment2);
// //提交事务
fragmentTransaction.commit();
生命周期
1、onAttach() :Fragment与Activity有联系。
2、onCreate():创建Fragment。
3、onCreateView():创建Activity视图。
4、onActivityCreated():当Activity中的onCreate()执行完后调用。
5、onStart():启动。
6、onResume():可见。
7、onPause():不可见。
8、onStop():停止。
9、onDestroyView():销毁Fragment视图。
10、onDestroy():销毁fragment对象。
11、onDetach():解除关联。
add生命周期执行
onAttach()
onCreate()
onCreateView()
onActivityCreated()
onStart()
onResume()
remove时生命周期执行
onPause()
onStop()
onDestoryView()
onDestory()
onDetach()
replace时生命周期执行
新Fragment --> onAttach()
新Fragment --> onCreate()
旧Fragment --> onPause()
旧Fragment --> onStop()
旧Fragment --> onDestroyView()
旧Fragment --> onDesttoy()
旧Fragment --> onDetach()
新Fragment --> onCreateView()
新Fragment --> onActivityCreated()
新Fragment --> onStart()
新Fragment --> onStop()
本文介绍了Fragment的含义,它早期用于平板设计,可将页面分块展示内容。还阐述了实现Fragment的方法,包括创建和显示的静态、动态方式。此外,详细说明了Fragment的生命周期,以及add、remove、replace操作时的生命周期执行情况。

3万+

被折叠的 条评论
为什么被折叠?



