理论教育 实现动态添加碎片: 在活动中多样化定制程序界面

实现动态添加碎片: 在活动中多样化定制程序界面

时间:2023-06-12 理论教育 版权反馈
【摘要】:根据具体情况来动态地添加碎片,我们就可以将程序界面定制得更加多样化。修改activity_main.xml,代码如下:可以看到,现在将右侧碎片放在了FrameLayout中,之后我们将在代码中替换FrameLayout里的内容,从而实现动态添加碎片的功能。结合代码可以看出,动态添加碎片主要分为5步:①创建待添加的碎片实例。这样就完成了在活动中动态添加碎片的功能,运行程序,可以看到和之前相同的界面,然后单击一下按钮,效果如图5-7所示。

实现动态添加碎片: 在活动中多样化定制程序界面

在上一节中,我们已经学会在布局文件中添加碎片的方法,不过碎片真正强大之处在于它可以在程序运行时动态地添加到活动中。根据具体情况来动态地添加碎片,我们就可以将程序界面定制得更加多样化。

我们还是在前面的代码基础上继续完善,新建another_right_fragment.xml,代码如下:

这个布局文件和right_fragment.xml中的代码基本相同,只是将背景色改换成了黄色,并修改了显示的文字。然后新建AnotherRightFragment作为另一个右侧碎片,代码如下:

这段代码同样非常简单,在onCreateView()方法中加载了刚刚创建的AnotherRightFragment布局。这样我们就准备好了另一个碎片,接下来将它动态地添加到活动中。修改activity_main.xml,代码如下:

可以看到,现在将右侧碎片放在了FrameLayout中,之后我们将在代码中替换FrameLayout里的内容,从而实现动态添加碎片的功能。修改MainActivity中的代码如下:

(www.daowen.com)

可以看到,首先我们给左侧碎片中的按钮注册了一个点击事件,然后将动态添加碎片的逻辑都放在了点击事件里进行。结合代码可以看出,动态添加碎片主要分为5步:

①创建待添加的碎片实例。

②获取FragmentManager,在活动中可以直接调用getFragmentManager()方法得到。

③调用beginTransaction()方法开启事务

④向容器内加入碎片,一般使用replace()方法实现,需要传入容器的id和待添加的碎片实例。

⑤提交事务,调用commit()方法来完成。

这样就完成了在活动中动态添加碎片的功能,运行程序,可以看到和之前相同的界面,然后单击一下按钮,效果如图5-7所示。

图5-7 运行效果

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈