AutomaticKeepAliveClientMixin在BottomNavigationBar页面中不起作用。
创始人
2024-09-23 18:30:22
0

要解决AutomaticKeepAliveClientMixin在BottomNavigationBar页面中不起作用的问题,可以考虑使用AutomaticKeepAliveClientMixin的子类KeepAliveWidget来包装BottomNavigationBar。以下是一个示例代码:

import 'package:flutter/material.dart';

class MyBottomNavigationBar extends StatefulWidget {
  @override
  _MyBottomNavigationBarState createState() => _MyBottomNavigationBarState();
}

class _MyBottomNavigationBarState extends State with AutomaticKeepAliveClientMixin{
  int _currentIndex = 0;

  @override
  bool get wantKeepAlive => true;

  @override
  Widget build(BuildContext context) {
    super.build(context); // 这一行很重要,必须调用父类的build方法

    return Scaffold(
      body: _getPageByIndex(_currentIndex),
      bottomNavigationBar: BottomNavigationBar(
        currentIndex: _currentIndex,
        onTap: (int index) {
          setState(() {
            _currentIndex = index;
          });
        },
        items: [
          BottomNavigationBarItem(
            icon: Icon(Icons.home),
            title: Text('首页'),
          ),
          BottomNavigationBarItem(
            icon: Icon(Icons.settings),
            title: Text('设置'),
          ),
        ],
      ),
    );
  }

  Widget _getPageByIndex(int index) {
    switch (index) {
      case 0:
        return HomeScreen();
      case 1:
        return SettingsScreen();
      default:
        return HomeScreen();
    }
  }
}

class HomeScreen extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Container(
      child: Text('首页'),
    );
  }
}

class SettingsScreen extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Container(
      child: Text('设置'),
    );
  }
}

void main() {
  runApp(MaterialApp(
    home: MyBottomNavigationBar(),
  ));
}

在这个示例中,通过在MyBottomNavigationBar的状态类中混合AutomaticKeepAliveClientMixin,并重写wantKeepAlive方法来实现自动保持页面状态。同时,还需要在build方法中调用super.build(context)来确保父类的build方法被调用。这样就可以保持BottomNavigationBar中的页面状态了。

相关内容

热门资讯

一分钟了解!线上德州辅助软件有... 一分钟了解!线上德州辅助软件有用吗,微扑克辅助器ios,透视教程(最初真的是有挂)是一款可以让一直输...
透视黑科技!hhpoker辅助... 1、透视黑科技!hhpoker辅助下载,闽游app辅助器,必赢教程(有挂辅助)。2、闽游app辅助器...
分享认知!微扑克wpk有挂吗,... 自定义wepoke辅助技巧系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克专用辅助器,...
透视黑科技!wepoker辅助... 1、透视黑科技!wepoker辅助器安装包,微信牵手跑胡子辅助工具,玩家教你(有挂教程)。2、微信牵...
玩家必备攻略!wpk机器人,德... 玩家必备攻略!wpk机器人,德扑之星ai代打,2025新版技巧(原本是真的有挂);小薇(透视辅助)致...
透视线上!aapoker辅助器... 透视线上!aapoker辅助器是真的吗,丰城呱呱辅助器,德州论坛(有挂透视);大神普及一款德州ai内...
重大通报!wpk有修改器吗,w... 重大通报!wpk有修改器吗,wpk俱乐部,科技教程(其实真的是有挂)您好,wpk俱乐部,确实是有挂的...
玩家爆料!德扑线上有机器人吗,... 玩家爆料!德扑线上有机器人吗,德州ai辅助软件,2025新版总结(切实真的是有挂)是一款可以让一直输...
透视ai!wpk辅助插件,天天... 透视ai!wpk辅助插件,天天开心王国有挂吗,教你教程(有挂软件)是由北京得天天开心王国有挂吗黑科技...
热门推荐!德州微扑克外挂是真的... 热门推荐!德州微扑克外挂是真的吗,wpk透明挂,技巧教程(一贯存在有挂)1)wpk透明挂辅助挂:进一...