Android第一行代码——快速入门 Kotlin 编程( 5.2 Fragment 的使用方式)

本文详细介绍了在Android应用中使用Kotlin进行Fragment的实战操作,包括Fragment的简单用法、动态添加、实现返回栈以及Fragment与Activity之间的交互。通过实例展示了如何创建、替换和管理Fragment,以及如何在Fragment间通信。
摘要由CSDN通过智能技术生成

目录

5.2        Fragment 的使用方式

5.2.1        Fragment 的简单用法

5.2.2        动态添加Fragment

5.2.3        在 Fragment 中实现返回栈

5.2.4        Fragment 和 Activity 之间的交互


5.2        Fragment 的使用方式

        介绍了这么多抽象的东西,是时候学习一下 Fragment 的具体用法了。首先我们要创建一个平板模拟器,创建模拟器的方法在第1章中已经学过了,这里就不再赘述。这次我们选择创建一个 PixelC平板模拟器,创建完成后启动模拟器,效果如 图5.4 所示。

图5.4        平板模拟器的运行效果

        好了,准备工作都完成了,接着新建一个 FragmentTest 项目,然后开始我们的 Fragment 探索之旅吧。 

5.2.1        Fragment 的简单用法

        这里我们准备先写一个最简单的 Fragment 示例来练练手。在一个 Activity 当中添加两个 Fragment ,并让这两个 Fragment 平分 Activity 的空间。

        新建一个左侧 Fragment 的布局 left_fragment.xml ,代码如下所示:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:background="#DDDDDD"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:text="Button" />

</LinearLayout>

        这个布局非常简单,只放置了一个按钮,并让它水平居中显示。

        然后新建右侧 Fragment 的布局 right_fragment.xml ,代码如下所示:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:background="#00ff00"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:textSize="24sp"
        android:text="This is right fragment"
        />

</LinearLayout>

        可以看到,我们将这个布局的背景色设置成了绿色,并放置了一个 TextView 用于显示一段文 本。

        接着新建一个 LeftFragment 类,并让它继承自 Fragment 。注意,这里可能会有两个不同包 下的 Fragment 供你选择:一个是系统内置的 android.app.Fragment ,一个是 AndroidX库中的androidx.fragment.app.Fragment 。这里请一定要使用 AndroidX库中的Fragment ,因 为它可以让Fragment 的特性在所有 Android 系统版本中保持一致,而系统内置的 Fragment 在 Android 9.0 版本中已被废弃。使用 AndroidX库中的 Fragment 并不需要在 build.gradle 文件中添加额外的依赖,只要你在创建新项目时勾选了Useandr oidx.* artifacts 选项,Android Studio 会自动帮你导入必要的 AndroidX库。

现在编写一下 LeftFragment 中的代码,如下所示:

class LeftFragment : Fragment() {
    override fun onCreateView(
        inflater: LayoutInflater,
        container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        return inflater.inflate(R.layout.le
  • 9
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值