Android---Navigation实现fragement的切换

本文介绍了如何使用Android的Navigation组件进行Fragment的切换,强调了Fragment与Activity的关系,以及栈的概念。通过创建两个Fragment,并在navigation资源文件中配置它们的连接和动画。详细解释了如何设置初始Fragment以及通过代码或图形化方式切换Fragment。同时,文章讲解了如何在Fragment间传递参数,包括使用Bundle保存和接收键值对的方式。
摘要由CSDN通过智能技术生成

首先,我们得知道fragement依赖于activity
fragment的切换就跟栈一样,进栈出栈。

我们先创建两个Fragment
在这里插入图片描述
这两个方法不要勾选:工厂方法和接口回调。如果勾选的话,会闲的内容特别乱。所以建议不要勾选。
在这里插入图片描述


在日常开发中,我们大多都是底部导航栏然后进行fragment的切换。
这次做的是跟栈一样的。

创建两个fragement之后,在res目录下创建navigation文件,会自动为你创建包
在这里插入图片描述

然后可以从顶部工具栏添加刚刚的两个fragment
在这里插入图片描述

将其按照你的顺序排列连起来,左边可以设置哪个fragment是第一个,也就是底部那一个。点击线段右边可以设置切换时的动画。点进去看xml代码。吗,每一个fragment内部都有一个action标签,也代表了连线切换到哪个fragment
在这里插入图片描述
注意到,左边上边有一个Host,那代表的是这些fragement依赖的是哪个activity


由于只有一个fragment组,直接用用图形化编程可以直接完成也可以通过代码的形式。
在这里插入图片描述
直接将该组件拖如ConstrainLayout里面。

或者:

    <fragment
        android:id="@+id/fragment"
        android:name="androidx.navigation.fragment.NavHostFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:defaultNavHost="true"
        app:navGraph="@navigation/my_navigation" />

完成以上的内容,再添加点击事件进行切换即可完成该练习:

首先看第一个fragment的代码:

public class HomeFragment extends Fragment {
   

    @Override
    public
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值