返回顶部
首页 > 资讯 > 移动开发 >Flutter如何知道页面/组件可见?
  • 266
分享到

Flutter如何知道页面/组件可见?

flutter 2023-10-04 13:10:50 266人浏览 独家记忆
摘要

在以前项目中,onPageShow和onPageHide由开源框架Flutter_boost提供,在此次项目中,创新性的采用了fusion框架,fusion框架同样提供了类似的方法,但在实践中发现,当

在以前项目中,onPageShow和onPageHide由开源框架Flutter_boost提供,在此次项目中,创新性的采用了fusion框架,fusion框架同样提供了类似的方法,但在实践中发现,当flutter页面相互replace或者多次pop页面后,onPageShow不会调用,这就导致了诸多bug,于是,需要探索如何了解一个widget/page是否可见。

首先试验了flutter官方提供的WidgetBindingsObserver,发现其AppLifecycleState有四种状态:

  • resumed 接受用户响应并在前台
  • inactive 不能接受用户响应,失去焦点
  • paused 不可见,运行在后台
  • detached 应用程序仍然由 Flutter 引擎托管,但已从任何宿主视图中分离

经过测试发现,在用户回到桌面或者屏,可以监听到paused事件,但是push到新的flutter页面,或者从其他flutter页面pop到本页面,没有生命周期变化,因此,此方案不可行。

观察发现,flutter的动画,在应用退到后台/push到其他页面等情况,动画时间仍在流逝,但动画绘制会停止(节约性能),这就代表着,flutter引擎是能知道某个widget是否可见的,在flutter中使用动画,通常需要使用with关键字混入SingleTickerProviderStateMixin,那么看来答案,就在此类中了。
查看源码

来源地址:https://blog.csdn.net/qwe25878/article/details/132323951

--结束END--

本文标题: Flutter如何知道页面/组件可见?

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

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

猜你喜欢
  • Flutter如何知道页面/组件可见?
    在以前项目中,onPageShow和onPageHide由开源框架flutter_boost提供,在此次项目中,创新性的采用了fusion框架,fusion框架同样提供了类似的方法,但在实践中发现,当...
    99+
    2023-10-04
    flutter
  • 你是否知道Python文件面试中常见的问题?
    Python作为一门广泛使用的编程语言,在文件处理方面的应用也十分广泛。因此,在Python文件面试中,也有一些常见的问题值得我们了解和掌握。本文将从文件读写、文件操作、文件处理等方面为大家介绍Python文件面试中常见的问题。 一、文件读...
    99+
    2023-08-14
    文件 面试 教程
  • react如何实现页面组件跳转
    这篇文章主要介绍了react如何实现页面组件跳转,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 跳转方法:1、利...
    99+
    2024-04-02
  • vue如何将页面公用的头部组件化
    这篇文章主要为大家展示了“vue如何将页面公用的头部组件化”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue如何将页面公用的头部组件化”这篇文章吧。具体如下:...
    99+
    2024-04-02
  • 你知道如何在 Go 中使用数组吗?
    当我们编写程序时,经常需要使用到数组。在 Go 语言中,数组是一种简单而强大的数据结构,它可以存储一组相同类型的数据。在本文中,我们将探讨如何在 Go 中使用数组。 声明数组 在 Go 中,声明数组的语法如下: var a [5]int...
    99+
    2023-08-18
    开发技术 数组 关键字
  • 如何用vue实现网页截图你知道吗
    目录1、安装html2Canvas2、在需要的vue组件中引入3、编写一个截图按钮4、调用函数toImage总结 1、安装html2Canvas npm install html...
    99+
    2024-04-02
  • 小程序中如何编写可复用分页组件
    小编给大家分享一下小程序中如何编写可复用分页组件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!项目中遇到 tab切换列表,每个t...
    99+
    2024-04-02
  • Flutter 如何封装文本输入框组件
    目录UI组件封装的考虑要点文本输入框接口定义代码实现组件使用踩坑记录总结UI组件封装的考虑要点 封装一个 UI 组件,通常需要考虑下面这三个点: 接口如何定义:即组件接收...
    99+
    2024-04-02
  • VUE页面声音+标题闪烁通知组件怎么使用
    这篇文章主要介绍“VUE页面声音+标题闪烁通知组件怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“VUE页面声音+标题闪烁通知组件怎么使用”文章能帮助大家解决问题。一个VUE页面声音+标题闪烁...
    99+
    2023-07-05
  • Android Flutter如何实现有趣的页面滚动效果
    本文小编为大家详细介绍“Android Flutter如何实现有趣的页面滚动效果”,内容详细,步骤清晰,细节处理妥当,希望这篇“Android Flutter如何实现有趣的页面滚动效果”文章能帮助大家解决疑惑,下面跟着小...
    99+
    2023-07-02
  • Python 文件 IDE 面试:你是否知道如何优化你的代码?
    作为一名 Python 开发者,你是否曾经遇到过这样的问题:你的代码在本地运行的很顺畅,但是一旦部署到生产环境中,就会变得异常缓慢?这种情况不仅会影响你的工作效率,还会给用户带来不良的使用体验。因此,在 Python 文件的 IDE 面试...
    99+
    2023-11-11
    文件 ide 面试
  • 如何在 Windows 11 中始终保持小部件面板可见
    如何始终显示小部件板在 Windows 11 中打开?好吧,您可以从下载并安装最新的Windows更新开始。在预览体验计划的最新更新补丁中,Microsoft透露,开发和金丝雀频道中的用户将能够将小部件板固定为打开状态,因此小部件板始终只需...
    99+
    2023-08-14
  • Android Fragment+FragmentTabHost组件实现常见主页面(仿微信新浪)
    采取的方法是Fragment+FragmentTabHost组件来实现这种常见的app主页面的效果 首先给出main.xml文件 <?xml versio...
    99+
    2022-06-06
    仿微信 android fragment fragmenttabhost 新浪 fragment Android
  • 你知道如何在IDE中使用PHP数组吗?
    当你在使用PHP编程时,数组是非常常用的一种数据类型。PHP数组可以存储多个值,并且可以通过索引或关联键来访问这些值。在IDE中使用PHP数组可以大大提高开发效率,下面就让我们来了解一下如何在IDE中使用PHP数组。 创建PHP数组 在ID...
    99+
    2023-06-14
    bash 数组 ide
  • 你知道Java数组在Django中如何处理吗?
    Java数组在Django中的处理方式 Java和Django都是非常流行的编程语言和框架,它们都有着广泛的应用和强大的功能。但是,在Java中使用数组和在Django中使用数组是不同的,因为它们在处理方式上有所差异。在本文中,我们将深入探...
    99+
    2023-10-03
    数组 linux django
  • 分享一个VUE页面声音+标题闪烁通知的组件
    本篇文章给大家带来了关于VUE的相关知识,其中主要跟大家分享一个VUE页面声音+标题闪烁通知的组件,感兴趣的朋友下面一起来看一下吧,希望对大家有帮助。一个VUE页面声音+标题闪烁通知的组件1、使用方法1.1 组件模板引用<PageNo...
    99+
    2023-05-14
    Vue
  • VUE页面声音和标题闪烁通知组件怎么使用
    本文小编为大家详细介绍“VUE页面声音和标题闪烁通知组件怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“VUE页面声音和标题闪烁通知组件怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1.使用方法1...
    99+
    2023-07-04
  • 你知道吗?Go语言中的数组操作可以如此简单!
    Go语言是一门很受欢迎的编程语言,其简单易学、高效运行等特点,使得越来越多的人选择使用它来进行开发。在Go语言中,数组是一种非常重要的数据类型,它可以用来存储一组相同类型的数据。而且,Go语言中的数组操作也是非常简单易懂的,本文就来介绍一...
    99+
    2023-09-12
    数组 api 实时
  • vue如何在组件里面注册组件
    这篇文章主要介绍“vue如何在组件里面注册组件”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue如何在组件里面注册组件”文章能帮助大家解决问题。在组件内部注册组件的方式,有两种方法:通过 comp...
    99+
    2023-07-05
  • 如何实现Vuejs页面的区域化与组件封装
    这篇文章主要介绍如何实现Vuejs页面的区域化与组件封装,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!组件的好处当我用vue写页面的时候,大量的数据页面渲染,引入组件简化主页面的代码...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作