flutter - Flutter:滑动时在页面浏览中添加新页面
问题描述
刷卡时如何在浏览量小部件中添加新页面?我试图在动画后设置状态并在列表中添加新页面,但它不起作用。
解决方案
import 'package:flutter/material.dart';
class HomeScreen extends StatefulWidget {
@override
_HomeScreenState createState() => _HomeScreenState();
}
class _HomeScreenState extends State<HomeScreen> {
PageController _pageController = PageController(
initialPage: 0,
);
int currentIndex = 0;
Widget childWidget = ChildWidget(
number: AvailableNumber.First,
);
@override
void dispose() {
_pageController.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Scaffold(
bottomNavigationBar: BottomNavigationBar(
selectedItemColor: Theme.of(context).primaryColor,
unselectedItemColor: Colors.grey[500],
currentIndex: currentIndex,
onTap: (value) {
currentIndex = value;
_pageController.animateToPage(
value,
duration: Duration(milliseconds: 200),
curve: Curves.linear,
);
setState(() {});
},
items: [
BottomNavigationBarItem(
icon: Icon(Icons.home),
title: Text("First"),
),
BottomNavigationBarItem(
icon: Icon(Icons.trending_up),
title: Text("Second"),
),
BottomNavigationBarItem(
icon: Icon(Icons.dashboard),
title: Text("Third"),
),
BottomNavigationBarItem(
icon: Icon(Icons.dashboard),
title: Text("Third"),
),
],
),
body: PageView(
controller: _pageController,
onPageChanged: (page) {
setState(() {
currentIndex = page;
});
},
children: <Widget>[
Text('1'),
Text(2'),
Text('3'),
],
),
);
}
}
推荐阅读
- python - 根据另一个数据框中的值从一个数据框中提取特定值
- node.js - Electron + Vue + msal-nodejs + Azure Ad:重定向 URL 问题
- c# - 将链接数据与条件动态连接
- php - 无法仅在 ovh serverurcloud 上连接到服务器
- php - 在源安装了 HTTPD 的服务器上安装 PHP
- javascript - 如果元素在javascript中具有特定的Xyz前缀,如何用索引值替换数组中的元素列表
- javascript - javascript: localStorage.getItem() 在同一页面返回值,在下一页返回 null
- r - 从 r 中的 Azure blob 解压缩 .gz 文件
- wordpress - Wordpress 中小部件表单功能中的重复字段
- azure - Azure 容器注册表:通过 Visual Studio 发布时图像不会更新