Android零基础入门第85节:Fragment使用起来非常简单

本文介绍了Android中Fragment的使用,包括静态加载和动态加载两种方式。静态加载是将Fragment直接写入Activity布局文件,而动态加载则在运行时通过代码添加,更加灵活。文中给出了具体的代码示例,帮助读者理解并掌握Fragment的加载方法。
摘要由CSDN通过智能技术生成

    Fragment创建完成后并不能单独使用,还需要将Fragment加载到Activity中,在Activity中添加Fragment的方式有两种:静态加载和动态加载,接下来分别进行学习。

一、静态加载

    静态加载Fragment非常简单,直接把Fragment当成普通的控件写在Activity的布局文件中。使用<fragment></fragment>标签,该标签与其他控件的标签类似,但必须要指定android:name属性或class属性,其属性值为Fragment的全路径名称。

    接下来在上一期的案例基础上继续学习,首先修改activity_main.xml文件,修改后的代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:orientation="vertical">

    <fragment
        android:id="@+id/fragment_one"
        android:name="com.jinyu.cqkxzsxy.android.fragmentsample.FirstFragment"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
</LinearLayout>

    当然,也可以这样使用:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:orientation="vertical">

    <fragment
        android:id="@+id/fragment_one"
        class="com.jinyu.cqkxzsxy.android.fragmentsample.FirstFragment"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
</LinearLayout>

    上面两种方法选择其中一种即可,然后在Activity在onCreate( )方法中调用setContentView()加载布局文件即可。默认已经加载activity_main布局,这里就不做修改。

    这样我们的第一个Fragment示例程序就已经完成了。直接运行程序,可以看到下图所示界面:

二、动态加载

    已经学会了在布局文件中添加Fragment的方法,非常简单,但是有一个缺点,那就是一旦添加就不能在运行时将其删除。所以我们还可以通过动态加载的方式来完成,这种方式是在运行时添加,相对来说比较灵活。

    首先Activity需要有一个ViewGroup容器存放Fragment,一般使用FrameLayout。

    继续在Activity对应的activity_main布局文件中加入FrameLayout,再次修改后的代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:orientation="vertical">

    <FrameLayout
        android:id="@+id/fragment_container"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
</LinearLayout>

    然后在Activity中,通过代码将Fragment添加进Activity中。动态添加Fragment主要分为4步:

  1. 获取到FragmentManager对象,在V4包中通过getSupportFragmentManager方法获取,在系统中原生的Fragment是通过getFragmentManager获得的。

  2. 开启一个事务,通过调用beginTransaction方法开启。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值