久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Flutter 如何檢查一個(gè)小部件是否可見? visbility_detector 來幫你實(shí)現(xiàn)

 程序員讀書空間 2024-02-28 發(fā)布于浙江

在本文中,我們將學(xué)習(xí)一個(gè)重要的Flutter小部件,。很多時(shí)候,,在應(yīng)用程序中,我們必須知道一個(gè)小部件是否可見,。

類似Android的onResum事件,,在Flutter中,需要使用一些額外的方法來實(shí)現(xiàn)這個(gè)事件檢測(cè),。

簡(jiǎn)單的應(yīng)用場(chǎng)景就是在A頁面中點(diǎn)擊一個(gè)按鈕打開B頁面,,A頁面失去焦點(diǎn),然后B頁面關(guān)閉消失,,A頁面重新獲取得了焦點(diǎn),,同時(shí)回調(diào)onResum事件。

要回調(diào)這個(gè)事件,,我非就是想在B頁面消失的時(shí)候,,再做一事內(nèi)容處理,我一般使用的方法是使用 future await 來實(shí)現(xiàn)處理,,核心代碼如下:

  TextButton buildTextButton(BuildContext context) {    return TextButton(      onPressed: () async {        //打開其他頁面        await Navigator.of(context)            .push(MaterialPageRoute(builder: (BuildContext context) {          return OnePage();        }));        //處理其他事情      },      child: const Text("測(cè)試"),    );  }

現(xiàn)我也可以使用 visibilityDetector 在頁面中做統(tǒng)一的處理,。

添加依賴如下:

visibility_detector: ^0.4.0+2

然后在頁面中引入依賴:

import 'package:visibility_detector/visibility_detector.dart';

核心使用代碼如下:

  //核心使用代碼  VisibilityDetector buildVisibilityDetector(BuildContext context) {    return VisibilityDetector(      onVisibilityChanged: (visibilityInfo) {        setState(() {          //當(dāng)前頁面可見          _isVisible = visibilityInfo.visibleFraction > 0;          // It will show how much percentage the widget is visible          var visiblePercentage = visibilityInfo.visibleFraction * 100;          //頁面的可見度          print('Widget is ${visiblePercentage}% visible');        });      },      key: const Key('my-widget-key'),      child: Center(        //頁面的其他布局        child: buildTextButton(context),      ),    );  }

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多