好的,所以我在Flutter上构建了一个钱包应用程序,我想要一个底部导航栏有三个图标,所以我在主屏幕上使用了索引堆栈,并将所有其他页面转换为可变页面中的小部件列表。在介绍了索引堆栈,我得到了这么多的错误一样,从标题
我试了一下,发现(可能是错误的)这个错误可能是因为框架在寻找所需位置时发生冲突,可能不是用MaterialApp小部件 Package 的
这是我代码
import 'package:flutter/material.dart';
import 'package:mytodo/screens/quick_send.dart';
import 'package:mytodo/screens/wallet_screen.dart';
class HomeScreen extends StatefulWidget {
const HomeScreen({super.key});
@override
State<HomeScreen> createState() => _HomeScreenState();
}
class _HomeScreenState extends State<HomeScreen> {
int _currentPage = 0;
List<Widget> pages = const [HomeScreen(), QuickSend(), WalletScreen()];
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.white,
body: IndexedStack(
index: _currentPage,
children: pages,
),
bottomNavigationBar: BottomNavigationBar(
onTap: (value) {
setState(() {
_currentPage = value;
});
},
currentIndex: _currentPage,
selectedIconTheme: const IconThemeData(color: Colors.blue),
unselectedIconTheme: const IconThemeData(color: Colors.green),
items: const [
BottomNavigationBarItem(
label: "Home",
icon: Icon(
Icons.home_rounded,
),
),
BottomNavigationBarItem(
icon: Icon(
Icons.monetization_on_outlined,
),
label: "Payment"),
BottomNavigationBarItem(
icon: Icon(Icons.wallet),
label: "Wallet",
),
],
),
);
}
}
1条答案
按热度按时间u4vypkhs1#
问题是在内部使用
HomeScreen
您可以将此小部件替换为主页视图小部件。