Android之Fragment入门一

本文作为“第一行代码”的学习笔记

了解Fragment之前先弄懂几个基本问题

  1. 什么是Fragment?
  2. Fragment有什么好处?
  3. Fragment的效果展示,一共有两个碎片(即两个Fragment),左边的Fragment含有一个Button,右边的Fragment含有一个TextView

这里写图片描述


1.Fragment通俗来讲就是碎片,那么碎片是干嘛的?碎片就是为了填充我们的页面的空白,从而达到我们充分利用屏幕控件的目的


2.好处就是更加充分利用页面控件


直接上代码

1.首先先建立两个布局文件,第一个布局文件取名为left_fragment,包含一个Button,另一个布局取名为right_fragment,包含一个Button


left_fragment
这里写图片描述


right_fragment
这里写图片描述


然后就是建立真正Fragment的大招了 ,由于有两个碎片,所以我们需要两个类Fragment,分别为LeftFragment,RightFragment!!!!!!两个类一定要继承Fragment,这个Fragment导包时一定要导入support-v4包,因为他可以让碎片在所有的Android系统版本保持功能的一致性,比如在Fragment中嵌套使用Fragment,这个功能是在4.2系统中才开始支持的,如果你导入的是app(即系统内置的Fragment),那么4.2系统之前的设备运行你的程序就会崩溃,而使用support-v4则不用担心出现这个问题,只要保证你使用的是最新的support-v4就行了

LeftFragment

public class LeftFragment extends Fragment
{
//重写onCreateView方法并加载我们的left_fragment的布局xml文件
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

        View view=inflater.inflate(R.layout.left_fragment,container,false);
        return view;
    }
}

//与LeftFragment同理

RightFragment

public class RightFragment extends Fragment
{
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view=inflater.inflate(R.layout.right_fragment,container,false);
        return view;
    }
}


-----

接下来我们把碎片放入我们的界面(这个界面既可以是Activity也可以是Fragemnt,我就放入MainActivity中了)由于我们只是简单的布局展示,没有复杂的逻辑,所以这里就直接在MainActivity中的activity_main展示效果即可,

activity_main

这里写图片描述

代码

//我们的两个Fragment要展示这里的控件的类型是fragment,我们把它理解为普通的TextView,Button等控件理解就行
!!!!!需要注意的一点是必须引用name属性,并且是我们的fragment全类名称,包含包名

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main"
    android:layout_width="match_parent" android:layout_height="match_parent"
   android:orientation="horizontal">


    <fragment
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:name="history.six.com.fragmentdemo.LeftFragment"
        />

    <fragment
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:name="history.six.com.fragmentdemo.RightFragment"
        />


</LinearLayout>

总结

1.Fragment继承的Fragment导包要为support-v4,主要是因为Android4.2系统之前的程序引用系统内置的app导包会崩溃


2.在布局中引用fragment是,要以fragment为控件类型,并且要引入”name”属性,添加完整的根源路径


延伸链接-了解更多

Android之Fragment入门二(动态添加碎片)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 在Android Studio中,如果你想修改自定义Fragment的类名和包名,你需要进行以下步骤: 1. 首先,右键点击你想要修改的Fragment类文件,选择"Refactor",然后选择"Rename"。在弹出的对话框中,输入你想要修改的类名,并点击"Refactor"按钮。这将会自动修改该类文件的名称以及所有引用该类的地方。 2. 接下来,你需要修改包名。右键点击你想要修改的包名,选择"Refactor",然后选择"Rename"。在弹出的对话框中,输入你想要修改的包名,并点击"Refactor"按钮。这将会自动修改该包名以及所有引用该包的地方。 3. 修改完类名和包名后,你还需要修改布局文件中对应的引用。打开布局文件,找到对应的Fragment布局文件,将其中的包名和类名修改为你所修改后的名称。 通过以上步骤,你就可以成功修改自定义Fragment的类名和包名了。记得在修改完后重新编译和运行项目,确保修改生效。 #### 引用[.reference_title] - *1* [Android Studio 入门教程:底部导航按钮+Fragment切换](https://blog.csdn.net/XinBaDeRongYao/article/details/128421306)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [[Android Studio] 底部导航栏的实现](https://blog.csdn.net/zhou_ge1/article/details/125543005)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Android Studio自带的底部导航条Activity如何修改Fragment](https://blog.csdn.net/Carmelo_7/article/details/125121071)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值