Fragment
Fragment 可以做到把屏幕划分成几块,然后进行分组,进行模块化的管理。并且可以更加方便的在运行过程中动态地更新Activity的用户界面
Fragment并不能单独使用,他需要嵌套在Activity 中使用,尽管他拥有自己的生命周期,但是还是会受到宿主Activity的生命周期的影响,
比如Activity 被destory销毁了,Fragment也会跟着销毁。
Fragment的静态注册-如何静态注册一个fragment
1.首先,我们new一个新的fragment,同时还需要new一个activity,用于存放fragment
2.静态注册fragment,需要在activity中,加入<fragment/>或者<androidx.fragment.app.FragmentContainerView/>
3.你需要在代码中加入 android:name="com.example.dataapplication.fragment.xxxFragment" 关联你的fragment才行。
4.你需要在代码中加入 tools:layout="@layout/fragment_xxx" 才能让你的fragment在右侧的效果展示页面中展示出来。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".FragmentActivity"
android:orientation="vertical">
<fragment
android:id="@+id/frag_1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:name="com.example.dataapplication.fragment.BlankFragment1"
tools:layout="@layout/fragment_blank1" />
<androidx.fragment.app.FragmentContainerView
android:id="@+id/frag_2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:name="com.example.dataapplication.fragment.BlankFragment1"
tools:layout="@layout/fragment_blank1"
/>
</LinearLayout>
5.fragment中的代码,这里是默认生成的代码,我们可以根据自己的需求修改。
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".fragment.BlankFragment1">
<!-- TODO: Update blank fragment layout -->
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="hello_blank_fragment1"
android:textSize="20dp"/>
</FrameLayout>

浙公网安备 33010602011771号