Flutter BaseWidget 实现onResume、onPause()(1)

这篇博客介绍了Flutter中BaseWidget基类的实现,包括onResume和onPause方法,用于管理页面的显示和暂停状态。文章详细阐述了isTopPage和isSecondTop方法,用于判断页面是否位于堆栈顶部或次顶部。同时还提供了BaseWidgetState类,包含了页面生命周期的相关方法,如initState、didChangeDependencies、build、deactivate和dispose。
摘要由CSDN通过智能技术生成

//通过数组中标识队列,判断page的位置(是唯一最顶部,还是唯一最顶部之下的第二个page)

bool isTop(BuildContext context, int num) {

if (_activityStack == null) {

return false;

}

try {

String className = getClassName(context);

int stackLength = _activityStack.length;

int curIndex = (stackLength >= num) ? (stackLength - num) : -1;

String stackClassName = curIndex >= 0 ? _activityStack[curIndex] : null;

return (stackClassName == null) ? false : (stackClassName == className);

} catch (exception) {

return false;

}

}

bool isTopPage(BuildContext context) {

return isTop(context, 1);

}

bool isSecondTop(BuildContext context) {

return isTop(context, 2);

}

}

BaseWidge基类:

import ‘package:flutter/material.dart’;

import ‘navigator_manger.dart’;

abstract class BaseWidget extends StatefulWidget {

@override

BaseWidgetState createState() {

return getState();

}

BaseWidgetState getState();

}

abstract class BaseWidgetState extends State {

String curPage;

String ta

  • 26
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值