首页 > 其他分享 >Fragment

Fragment

时间:2024-06-19 21:44:12浏览次数:14  
标签:layout Fragment 代码 fragment Activity 静态

Fragment 可以做到把屏幕划分成几块,然后进行分组,进行模块化的管理。并且可以更加方便的在运行过程中动态地更新Activity的用户界面

Fragment并不能单独使用,他需要嵌套在Activity 中使用,尽管他拥有自己的生命周期,但是还是会受到宿主Activity的生命周期的影响,

比如Activity 被destory销毁了,Fragment也会跟着销毁。

Fragment的静态注册-如何静态注册一个fragment

1.首先,我们new一个新的fragment,同时还需要new一个activity,用于存放fragment

2.静态注册fragment,需要在activity中,加入<fragment/>或者<androidx.fragment.app.FragmentContainerView/>

3.你需要在代码中加入 android:name="com.example.dataapplication.fragment.xxxFragment" 关联你的fragment才行。

4.你需要在代码中加入 tools:layout="@layout/fragment_xxx" 才能让你的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:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".FragmentActivity"
    android:orientation="vertical">

    <fragment
        android:id="@+id/frag_1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:name="com.example.dataapplication.fragment.BlankFragment1"
        tools:layout="@layout/fragment_blank1" />
    <androidx.fragment.app.FragmentContainerView
        android:id="@+id/frag_2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:name="com.example.dataapplication.fragment.BlankFragment1"
        tools:layout="@layout/fragment_blank1"
        />
</LinearLayout>

 

 5.fragment中的代码,这里是默认生成的代码,我们可以根据自己的需求修改。

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".fragment.BlankFragment1">

    <!-- TODO: Update blank fragment layout -->
    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="hello_blank_fragment1"
        android:textSize="20dp"/>

</FrameLayout>

 

标签:layout,Fragment,代码,fragment,Activity,静态
From: https://www.cnblogs.com/bdsz/p/18257480

相关文章

  • Fragment的动态创建
    Fragment的动态创建动态创建不同于静态创建,不需要写固定的xml文件,但是依然要有一个xml文件来当容器。1.我们需要使用<androidx.fragment.app.FragmentContainerView/><?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/re......
  • Activity和fragment是如何交互的
    Fragment是Android中历史十分悠久的一个组件,在Android3.0(API级别11)的时候推出,时至今日已成为Android开发中最常用的组件之一在一开始的时候,引入Fragment的目的是为了在大屏幕(如平板电脑)上能够更加动态和灵活地设计界面,被定义为一个**轻量级Activity**而进行设计......
  • 冲刺06fragment_reg_chi_fil_inf.xml
    <?xmlversion="1.0"encoding="utf-8"?><FrameLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent&......
  • etcd错误:Failed to defragment etcd member[127.0.0.1:2379] (context deadline excee
    etcd版本#etcdctlversionetcdctlversion:3.5.1APIversion:3.5问题在执行etcdctl--endpoints=http://127.0.0.1:2379defrag命令时,可能遇到错误:{"level":"warn","ts":"2024-06-12T18:20:17.444+0800","logger":"et......
  • mybatis的mapper中的sql涉及嵌套且外部引用导致的问题:XML fragments parsed from prev
    假设xxx.xml中有类似下方的sql嵌套:<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEmapperPUBLIC"-//mybatis.org//DTDMapper3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mappernamespace="com.xx......
  • 自定义FlutterFragment的初始化路由没有生效
    问题:在自定义FlutterFragment的configureFlutterEngine方法中初始化页面路由发现一直是'/'原因:当configureFlutterEngine方法被调用时,Flutter已经完成了初始化并设置了默认的初始路由(通常是'/')。在Android项目中,FlutterFragment在onAttach方法中创建FlutterEngine。在......
  • Activity与Fragment之间通信(二)——接口回调
    一。引言上篇文章讲述了Activity和Fragment怎么样通过Bundle传递消息,这篇介绍如何通过接口回调实现通信。首先,Bundle并不适用于任何通信情况,我们来看看Bundle通信的缺点:(1)数据类型的限制:Bundle只能传递一些基本数据类型,如int,String等,无法直接传递自定义对象。(2)繁琐的代码:在......
  • Android开发基础:AdapterView类视图控件的使用,Fragment,ViewPager2视图控件的使用
    目录一,Adapter1.什么是Adapter? 2.Android中的常用Adapter二,AdapterView1.AdapterView简介 2.AdapterView的子视图对象 三,ListView滑动列表形式四,GridView网格形式显示 五,Fragment和ViewPager2视图控件的使用1.什么是Fragment?2.ViewPager23.TabLayout+ViewPage......
  • Android+Fragment与Activity之间的信息传递——笔记3
    通过Bundle,Fragment与Activity之间的信息传递protectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);btn2=findViewById(R.id.btn2);btn3=findViewById(R.......
  • ViewPager2 FragmentManager is already executing transactions
    一、概述双层Fragment+ViewPager2嵌套来回切换导致如下异常ViewPager2FragmentManagerisalreadyexecutingtransactions 二、解决办法FragmentStateAdapter的默认构造函数使用的是:publicFragmentStateAdapter(@NonNullFragmentActivityfragmentActivity......