Android 布局 Fragment

news/2024/7/16 8:53:14 标签: android, android studio, ide

Android 布局 Fragment

  • Fragment出现的初衷
  • 生命周期
      • onCreate()
      • onPause()
      • onAttach()
      • onCreateView()
      • onActivityCreated()
      • onDestroyView()
      • onDetach()
    • 您可能还想扩展几个子类,而非 Fragment 基类:
      • DialogFragment
      • ListFragment
      • PreferenceFragmentCompat
  • 同系列文章推荐

Fragment出现的初衷

Fragmen是在Android3.0(api11)的时候引入的,一开始的目的是为了大屏幕(如平板电脑)。
当时的Android手机普遍较少,在Android使用上面看起来的正常的界面,在平板电脑看起来可能会有点奇怪
比如,会留出比较大的空白的空间,所以,为了解决这种问题,谷歌在Android 3.0的时候推出了Fragment。
我们来看一个例子,新闻应用可以使用一个Fragment在左侧显示文章列表,
使用另一个Fragment在右侧显示文章 — 两个Fragment并排显示在一个 Activity 中,
每个Fragment都拥有自己的一套生命周期回调方法,并各自处理自己的用户输入事件。
因此,用户无需使用一个 Activity 来选择文章,然后使用另一个 Activity 来阅读文章,
而是可以在同一个 Activity 内选择文章并进行阅读。详情如下图所示

在这里插入图片描述

生命周期

如要创建片段,您必须创建 Fragment 的子类(或已有其子类)。Fragment 类的代码与 Activity 非常相似。它包含与 Activity 类似的回调方法,如 onCreate()、onStart()、onPause() 和 onStop()。实际上,如果您要将现有 Android 应用转换为使用片段,可能只需将代码从 Activity 的回调方法移入片段相应的回调方法中。

通常,您至少应实现以下生命周期方法:

onCreate()

系统会在创建片段时调用此方法。当片段经历暂停或停止状态继而恢复后,如果您希望保留此片段的基本组件,则应在您的实现中将其初始化。
onCreateView()
系统会在片段首次绘制其界面时调用此方法。如要为您的片段绘制界面,您从此方法中返回的 View 必须是片段布局的根视图。如果片段未提供界面,您可以返回 null。

onPause()

系统会将此方法作为用户离开片段的第一个信号(但并不总是意味着此片段会被销毁)进行调用。通常,您应在此方法内确认在当前用户会话结束后仍然有效的任何更改(因为用户可能不会返回)。
大多数应用至少应为每个片段实现这三个方法,但您还应使用几种其他回调方法来处理片段生命周期的各个阶段。处理片段生命周期部分对所有生命周期回调方法做了更详尽的阐述。

onAttach()

在片段已与 Activity 关联时进行调用(Activity 传递到此方法内)。

onCreateView()

调用它可创建与片段关联的视图层次结构。

onActivityCreated()

当 Activity 的 onCreate() 方法已返回时进行调用。

onDestroyView()

在移除与片段关联的视图层次结构时进行调用。

onDetach()

在取消片段与 Activity 的关联时进行调用。
在这里插入图片描述
请注意,用于实
现依赖组件生命周期的代码应放在组件本身内,而非直接放在片段回调实现中。请参阅使用具有生命周期感知能力的组件处理生命周期,了解如何让您的依赖组件获得生命周期感知能力。

您可能还想扩展几个子类,而非 Fragment 基类:

DialogFragment

显示浮动对话框。使用此类创建对话框可有效代替使用 Activity 类中的对话框辅助方法,因为您可以将片段对话框纳入由 Activity 管理的片段返回栈,从而使用户能够返回清除的片段。

ListFragment

显示由适配器(如 SimpleCursorAdapter)管理的一系列项目,类似于 ListActivity。该类提供几种管理列表视图的方法,如用于处理点击事件的 onListItemClick() 回调。(请注意,显示列表的首选方法是使用 RecyclerView,而非 ListView。在此情况下,您需在列表布局中创建包含 RecyclerView 的片段。如需了解具体操作方法,请参阅使用 RecyclerView 创建列表)

PreferenceFragmentCompat

以列表形式显示 Preference 对象的层次结构。此类用于为您的应用创建设置屏幕。

https://developer.android.google.cn/guide/components/fragments?hl=zh_cn

同系列文章推荐

.net开发安卓入门 - 环境安装
.net开发安卓入门 - Hello world!
.net开发安卓入门 - 基本交互(Button,输入EditText,TextView,Toast)
.net开发安卓入门 - 布局与样式
.net开发安卓入门 - Activity
.net开发安卓入门 - Notification(通知)
.net开发安卓入门 - 四大基本组件
.net开发安卓入门 - Service (服务)
.net开发安卓入门 - 打包(.apk)
.net开发安卓入门 - ImageView 显示网络图片
.net开发安卓入门-文件操作与配置操作
.net开发安卓入门-Dialog
.net开发安卓入门-自动升级(配合.net6 webapi 作为服务端)
vs2022 实现无线调试安卓(Windows)
.net开发安卓从入门到放弃
.net开发安卓从入门到放弃 最后的挣扎(排查程序闪退问题记录-到目前为止仍在继续)
.net开发安卓入门 -记录两个问题处理办法


http://www.niftyadmin.cn/n/216394.html

相关文章

Nacos系列-Nacos配置中心

Nacos配置中心背景介绍什么是Nacos配置中心Nacos配置中心原理构成Nacos中心架构三个角色Nacos配置中心的重要功能如何使用Nacos的配置中心(以springBoot为例)1.引入pom依赖2. 配置Nacos配置中心的相关属性3.创建spring bean 用于读取Nacos配置中心的配置…

计算机常用端口

计算机常用端口,在设置端口时,尽量不要选用公认的端口地址。 0端口:无效端口,通常用于分析操作系统 1端口:传输控制协议端口服务多路开关选择器 2端口:管理实用程序 3端口:压缩进程 5端口:远程…

【数据分析之道-NumPy(四)】numpy广播机制

文章目录专栏导读1、广播机制2、一维数组和二维数组的广播3、二维数组和三维数组的广播4、标量和数组的广播5、形状不兼容的数组不能进行广播专栏导读 ✍ 作者简介:i阿极,CSDN Python领域新星创作者,专注于分享python领域知识。 ✍ 本文录入于…

golang闭包

定义 一个函数和对其周围状态(词法环境)的引用捆绑在一起,这样的组合就是闭包 闭包 函数 引用的外部环境 外部引用的变量将会在堆上存储,仅在内存中存放一份 实现原理 下面是一个简单的闭包函数f1,会打印输入stri…

Stable Diffusion,给大家一点小小的固有印象

输入文字自动生成 AI 绘图,喜欢吗?😋 下面测试一下简单的提示词生成效果,可以认为体现了模型的默认固有印象(训练集平均)。 Model: Protogen v2.2 Prompt: two asian women 经典吊梢眼、宽眼距、塌鼻子。…

python3.6+opencv3.4实现鼠标交互查看图片像素

python3.6opencv3.4实现鼠标交互查看图片像素 在利用opencv进行图片处理时,经常需要查看图片关心区域或位置的像素数值,苦于没有应手的小软件,我用python3.6opencv3.4简单编制一个小工具,供大家使用。 流程 1.建立标准的鼠标交互函…

2023mothercup妈妈杯数学建模挑战赛思路

先占坑,本人于2019年开始接触数学建模,参加了大大小小几十场数学建模比赛。 本次mothercup也会持续陪跑,为大家提供免费的文字思路和视频思路,后续还有代码和参考文章等。 2023年Mathorcup数学建模竞赛A题 (比赛开始后…

适合初学者的python爬虫开发案例

一、论述 这几个案例以前是给一些想进入Python行业的朋友写的,看到大家都比较满意,所以就再次拿了出来,如果你已经开始学python,对爬虫没有头绪,不妨看看这几个案例! 二、环境准备 Python 3 requests库…