返回顶部
首页 > 资讯 > 移动开发 >KotlinFragment使用方法详解
  • 189
分享到

KotlinFragment使用方法详解

KotlinFragmentKotlinFragment接口 2023-01-28 06:01:30 189人浏览 薄情痞子
摘要

目录1.Fragment的介绍2.静态加载3.动态加载1.Fragment的介绍 Android在3.0版本引入了Fragment功能,它非常类似于Activity,可以像Activ

1.Fragment的介绍

Android在3.0版本引入了Fragment功能,它非常类似于Activity,可以像Activity一样包含布局。

它出现的初衷是为了适应大屏幕的平板电脑,使用Fragment我们可以把屏幕划分成几块,合理利用屏幕空间。

Fragment通常是嵌套在Activity中使用。

2.静态加载

步骤:

(1)定义Fragment控件的布局文件。

<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=".LeftFragment">
    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="这是左边" />
</FrameLayout>
<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=".RightFragment">
    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="这是右边" />
</FrameLayout>

(2)自定义Fragment类,继承自Fragment类或者子类,同时实现onCreateView()方法,在方法中,通过inflater.inflate加载布局文件,接着返回其View。

class LeftFragment : Fragment() {
    override fun onCreateView(
        inflater: LayoutInflater, container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        return inflater.inflate(R.layout.fragment_left, container, false)
    }
}
class RightFragment : Fragment() {
    override fun onCreateView(
        inflater: LayoutInflater, container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        // Inflate the layout for this fragment
        return inflater.inflate(R.layout.fragment_right, container, false)
    }
}

(3)在需要加载Fragment控件的Activity对应的布局文件中添加Fragment标签,并设置name属性为自定义fragment。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
    <fragment
        android:id="@+id/leftFrag"
        android:name="com.hui.fragment.LeftFragment"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"/>
    <fragment
        android:id="@+id/rightFrag"
        android:name="com.hui.fragment.RightFragment"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"/>
</LinearLayout>

(4)最后在Activity的onCreate()方法中调用setContentView()加载布局。

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }
}

3.动态加载

步骤:

(1)通过getSupportFragmentManager()方法获得FragmentManager对象。

val fragmentManager=supportFragmentManager

(2)开启事务,通过beginTransaction()方法获得FragmentTransaction对象。

val transaction=fragmentManager.beginTransaction()

(3)调用add()方法或者repalce()方法加载Fragment。

transaction.replace(R.id.rightLayout,fragment)
//replace()方法需要传入容器的id和待添加的Fragment实例

(4)最后调用commit()方法提交事务。

transaction.commit()

到此这篇关于Kotlin Fragment使用方法详解的文章就介绍到这了,更多相关Kotlin Fragment内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: KotlinFragment使用方法详解

本文链接: https://lsjlt.com/news/178249.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • KotlinFragment使用方法详解
    目录1.Fragment的介绍2.静态加载3.动态加载1.Fragment的介绍 Android在3.0版本引入了Fragment功能,它非常类似于Activity,可以像Activ...
    99+
    2023-01-28
    Kotlin Fragment Kotlin Fragment接口
  • KotlinFragment的具体使用详解
    目录概念基本示例设置左右列布局文件配置左右布局类主布局文件注册概念 fragment 可以用作一个 activity 内部的小分块; 当我们从手机转换到 pad 上时,整体界面会发生...
    99+
    2024-04-02
  • iperf3使用方法详解
    iperf3是一款带宽测试工具,它支持调节各种参数,比如通信协议,数据包个数,发送持续时间,测试完会报告网络带宽,丢包率和其他参数。 小广告:欢迎喜欢网络技术的朋友加我微信:xfiles_sky,一起...
    99+
    2023-09-06
    服务器 网络 运维
  • PerformanceCounter详解,使用方法
    PerformanceCounter是一个用于监视计算机性能指标的类,它可以用来测量各种指标,如CPU使用率、内存使用率、磁盘读写速...
    99+
    2023-09-16
    详解
  • PopupWindow使用方法详解
    学习了Android PopupWindow的使用技巧 和【Android UI设计与开发】7.底部菜单栏(四)PopupWindow 实现显示仿腾讯新闻底部弹出菜单,然后自己进行了一下研究,写一个总结,方便以后学习。效果图:PopupWi...
    99+
    2023-05-30
    popupwindow 使用
  • FragmentTabHost使用方法详解
    FragmentTabHost是support-v包下提供的用于集成和管理Fragment页面的组件. 今天要实现的效果图如下: 整体结构是MainActivity+5个模块的Fragment. MainActivity的布局如下:<...
    99+
    2023-05-30
    android fragmenttabhost
  • ToolBar使用方法详解
    ToolBar的出现是为了替换之前的ActionBar的各种不灵活使用方式,相反,ToolBar的使用变得非常灵活,因为它可以让我们自由往里面添加子控件.低版本要使用的话,可以添加support-v7包. 今天要实现的效果如下: 由上图可以...
    99+
    2023-05-30
    android toolbar
  • JavaBigDecimal使用方法详解
    目录重要属性Double 转 BigDecimal基础方法数值比较剔除尾部的零重要属性 1、scale: 小数点后的位数。如将1.234构建为BigDecimal,scale属性则为...
    99+
    2022-12-20
    Java BigDecimal Java BigDecimal用法
  • Quartz.Net使用方法详解
    目录Hello Quartz.Net作业:Job和JobDetailJobDataJobDetail持久化JobData触发器:TriggerSampleTriggerCronTri...
    99+
    2024-04-02
  • KotlinWorkManager使用方法详解
    目录WorkMananger的简介WorkManager的基本用法使用WorkManager处理复杂的任务链式任务WorkMananger的简介 Google推出WorkManage...
    99+
    2023-01-28
    Kotlin WorkManager Kotlin WorkManager实例
  • 详解datagrid使用方法
    DataGrid是一种用于显示和编辑数据的控件,常用于展示表格数据。以下是DataGrid的使用方法:1. 引用DataGrid控件...
    99+
    2023-08-11
    datagrid
  • Optional 使用方法详解
    Optional的作用是什么?他都有哪些方法?阿里规范点名说尽量用Optional来避免空指针,那么什么场景用Optional?本篇文章围绕这三点来进行讲解。 目录 一、Optional类的来源二、Optional类是什么?三、Op...
    99+
    2023-08-17
    java 开发语言
  • android TabLayout使用方法详解
    Google在2015的IO大会上,给我们带来了更加详细的Material Design设计规范,同时,也给我们带来了全新的Android Design Support Lib...
    99+
    2022-06-06
    方法 tablayout Android
  • android BitmapFactory.Options使用方法详解
    BitmapFactory.Options的使用是在加载图片时,就从图片的加载和使用说起  怎样获取图片的大小? 首先我们把这个图片转成Bitmap,然后再利用Bi...
    99+
    2022-06-06
    options 方法 Android
  • Android Tabhost使用方法详解
    Android 实现tab视图有2种方法,一种是在布局页面中定义<tabhost>标签,另一种就是继承tabactivity.但是我比较喜欢第二种方式,应为如果页面...
    99+
    2022-06-06
    方法 tabhost Android
  • 详解go mod 使用方法
    目录1、进入grammar文件夹2、初始化目录3、导入自定义的模块4、导入本地没有的模块常用命令1、初始化模块2 、获取远程的模块3、 查看当前依赖模块4、清除未使用到的依赖go m...
    99+
    2024-04-02
  • djangoredis的使用方法详解
    目录1.说明2.安装3.配置3.1 配置redis3.2 使用redis存储session3.3 redis连接超时时间设置4.使用redis4.1 使用默认redis4.2 使用指...
    99+
    2023-05-16
    django redis使用 django redis
  • Android HandlerThread使用方法详解
    Android HandlerThread使用方法详解HandlerThread 继承自Thread,内部封装了Looper。首先Handler和HandlerThread的主要区别是:Handler与Activity在同一个线程中,Han...
    99+
    2023-05-30
    android handlerthread roi
  • Hadoop Combiner使用方法详解
    Hadoop Combiner使用方法详解Combiner函数是一个可选的中间函数,发生在Map阶段,Mapper执行完成后立即执行。使用Combiner有如下两个优势: Combiner可以用来减少发送到Reducer的数据量,从而提高...
    99+
    2023-05-30
    hadoop combiner
  • Android Notification 使用方法详解
    Android Notification 使用方法详解用TaskStackBuilder来获取PendingIntent处理点击跳转到别的Activity,首先是用一般的PendingIntent来进行跳转。mBuilder = new N...
    99+
    2023-05-30
    android notification roi
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作