您的位置:

Android Studio Fragment使用示例

一、Fragment是什么

Fragment 是 Android 3.0(API 级别11)引入的一种新的组件类型,也是 Android 系统 UI 的基本组成部分之一。Fragment 可以理解为 Activity 中的“模块”,每个 Fragment 可以拥有自己的布局文件、逻辑代码与生命周期等特点。相比 Activity,它更加轻量级,可以方便地再 Activity 中添加、移除和替换。

二、为什么使用Fragment

使用 Fragment 可以让我们在单个 Activity 中拥有更多模块,每个模块可以拥有自己的 UI 界面和逻辑处理。举个例子,我们在一个新闻 App 的某个 Activity 中可以使用一个 Fragment 显示新闻列表,使用另外一个 Fragment 显示新闻详情,用户可以通过点击列表项切换两个 Fragment 的显示,这样可以提高应用程序的灵活性和用户体验。

三、如何使用Fragment

1. 创建 Fragment

我们可以通过使用 Android Studio 提供的模板来创建一个新的 Fragment。在 Android Studio 中,依次选择 File -> New -> Fragment -> Fragment (Blank),然后在弹出的对话框中设置名字、布局等属性即可。

public class MyFragment extends Fragment {
    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragment_my, container, false);
        //TODO: add logic code here
        return rootView;
    }
}

其中,onCreateView() 方法用于加载 Fragment 的布局文件,并返回一个对应的视图对象。在上面的代码中,我们通过 inflate() 方法将 fragment_my.xml 布局文件加载到内存中,并将其作为根视图返回。

2. 在 Activity 中使用 Fragment

在 Activity 中使用 Fragment 几乎是一样的,我们需要在 Activity 中添加一个 FrameLayout 控件,用于承载 Fragment。然后,在 Activity 的 onCreate() 方法中通过 FragmentManager 将 Fragment 添加到 FrameLayout 中即可。

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        getSupportFragmentManager().beginTransaction().add(R.id.container, new MyFragment()).commit();
    }
}

其中,getSupportFragmentManager() 方法返回 Activity 中的 FragmentManager 对象,通过 beginTransaction() 方法开启一个事务,并通过 add() 方法将 Fragment 添加到 FrameLayout 中。

3. 在 Fragment 中使用其他 Fragment

在 Fragment 中使用其他 Fragment 也很简单,我们只需要在 Fragment 中创建另外一个 Fragment,并使用 getChildFragmentManager() 方法获取当前 Fragment 中的 FragmentManager 对象,然后使用 beginTransaction() 方法开启一个事务,并通过 add() 方法将 Fragment 添加到当前 Fragment 的布局中即可。

public class MyFragment extends Fragment {
    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragment_my, container, false);
        //TODO: add logic code here
        getChildFragmentManager().beginTransaction().add(R.id.container, new OtherFragment()).commit();
        return rootView;
    }
}

四、总结

本文介绍了如何使用 Fragment,包括创建 Fragment、在 Activity 中使用 Fragment、在 Fragment 中使用其他 Fragment 等。希望能够对大家使用 Android 开发有所帮助。

Android Studio Fragment使用示例

2023-05-14
提高Android Studio使用效率的10个技巧

Android Studio作为Android开发的主流开发工具,在日常的开发中会频繁使用。如何提高Android Studio的使用效率,可以让我们更快更高效地完成开发任务。本文将介绍10个技巧,旨

2023-12-08
提高Android Studio使用效率的10个技巧

Android Studio作为Android开发的主流开发工具,在日常的开发中会频繁使用。如何提高Android Studio的使用效率,可以让我们更快更高效地完成开发任务。本文将介绍10个技巧,旨

2023-12-08
下载最新的Android Studio IDE

2023-05-14
使用Android Studio进行应用程序开发

2023-05-14
Android Fragment实现页面模块化

2023-05-14
Android Fragment应用——如何实现页面模块化

一、什么是Fragment Fragment是Android系统中的一种组件,可以看做是Activity的子页面,一般是被一个Activity承载着,是Activity的可重用的组成部分。通过将界面模

2023-12-08
Android Fragment切换详解

2023-05-21
Android Studio安装包下载及安装步骤详解

2023-05-14
掌握Android Fragment的生命周期

2023-05-14
使用Android Studio轻松实现无线调试

2023-05-14
Android Studio SVN使用指南

一、SVN简介 1、Subversion(缩写为SVN),是一个开放源代码的版本控制系统。 2、SVN的功能是,记录文件版本的更改情况,包括谁对文件作出更改,什么时间作出更改,以及从上一个版本到当前版

2023-12-08
使用Android Studio Logcat进行应用程序调

2023-05-14
Android Studio使用教程

2023-05-20
Android Studio插件:提高代码编写的效率

2023-05-14
Android Studio4.2.2:提升Android

2023-05-14
深入了解Android 33

2023-05-22
Fragment嵌套Fragment

2023-05-20
增强用户体验:Android Fragment切换实现流畅界

2023-05-14
使用Android Studio生成APK文件

2023-05-14