Android之Fragment详解

Fragment是Android应用界面中可重用的部分,它可以被Activity或另一个Fragment托管。Fragment具有自己的生命周期,适用于界面模块化,便于在不同屏幕尺寸上展示。创建Fragment需要继承Fragment类,设置布局,并在Activity中通过FragmentTransaction添加到布局中。Fragment有两种添加方式:XML声明式和编程式。在Fragment中,可以使用onAttach、onCreateView等生命周期方法进行逻辑处理,与Activity通信可以通过直接引用或通过getActivity()方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Fragment 表示应用界面中可重复使用的一部分。Fragment 定义和管理自己的布局,具有自己的生命周期,并且可以处理自己的输入事件。Fragment 不能独立存在,而是必须由 Activity 或另一个 Fragment 托管。Fragment 的视图层次结构会成为宿主的视图层次结构的一部分,或附加到宿主的视图层次结构。

​​​​​​​模块化

Fragment 允许您将界面划分为离散的区块,从而将模块化和可重用性引入 Activity 的界面。Activity 是围绕应用的界面放置全局元素(如抽屉式导航栏)的理想位置。相反,Fragment 更适合定义和管理单个屏幕或部分屏幕的界面。

假设有一个响应各种屏幕尺寸的应用。在较大的屏幕上,该应用应显示一个静态抽屉式导航栏和一个采用网格布局的列表。在较小的屏幕上,该应用应显示一个底部导航栏和一个采用线性布局的列表。在 Activity 中管理所有这些变化因素可能会很麻烦。将导航元素与内容分离可使此过程更易于管理。然后,Activity 负责显示正确的导航界面,而 Fragment 采用适当的布局显示列表。

将界面划分为 Fragment 可让您更轻松地在运行时修改 Activity 的外观。当 Activity 处于 STARTED 生命周期状态或更高的状态时,可以添加、替换或移除 Fragment。您可以将这些更改的记录保留在由 Activity 管理的返回堆栈中,从而允许撤消这些更改。

您可以在同一 Activity 或多个 Activity 中使用同一 Fragment 类的多个实例,甚至可以将其用作另一个 Fragment 的子级。考虑到这一点,您应只为 Fragment 提供管理它自己的界面所需的逻辑。您应避免让一个 Fragment 依赖于另一个 Fragment 或从一个 Fragment 操控另一个 Fragment。

1、创建Fragment

​​​​​​​​​​​​​​设置你的环境

片段需要依赖 AndroidX 片段库 。 你需要 添加 Google Maven 代码库 到你的项目 settings.gradle文件以包含此依赖项。

dependencyResolutionManagement {

    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)

    repositories {

        google()

        ...

    }

}

要将 AndroidX Fragment 库包含到您的项目中,请添加以下内容 应用程序中的依赖项 build.gradle文件:

dependencies {

    def fragment_version = "1.4.1"

    // Java language implementation

    implementation "androidx.fragment:fragment:$fragment_version"

    // Kotlin

    implementation "androidx.fragment:fragment-ktx:$fragment_version"

}

​​​​​​​​​​​​​​创建一个片段类

要创建片段,请扩展 AndroidX Fragment类,并覆盖 它插入您的应用程序逻辑的方法,类似于您创建的方式 一个 Activity班级。 创建一个最小的 定义自己的布局的片段,提供片段的布局资源 到基本构造函数,如以下示例所示:

class ExampleFragment extends Fragment {

    public ExampleFragment() {

        super(R.layout.example_fragment);

    }

}

Fragment 库还提供了更专业的片段基类:

DialogFragment

显示一个浮动对话框。 使用这个类来创建一个对话框是一个不错的选择 替代在 Activity类,作为片段 自动处理 Dialog. 请参阅 显示对话框 DialogFragment 更多细节。

PreferenceFragmentCompat

显示层次结构 Preference对象作为 列表。 您可以使用 PreferenceFragmentCompat到 创建一个设置屏幕 为您的应用

​​​​​​​​​​​​​​将Fragment添加到活动

通常,您的片段必须嵌入到 AndroidX 中 FragmentActivit

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值