我在我的应用程序中使用底部导航,如下所示。
class AppMainPage extends StatefulWidget {
@override
_AppMainPageState createState() => _AppMainPageState();
}
class _AppMainPageState extends State<AppMainPage> {
int _selectedIndex = 1;
void _onItemTapped(int index) {
setState(() {
_selectedIndex = index;
});
}
@override
void initState() {
super.initState();
}
@override
void dispose() {
super.dispose();
}
static List<Widget> _widgetOptions = <Widget>[
PaymentPage(),
HomePage(),
ProfilePage()
];
@override
Widget build(BuildContext context) {
return Scaffold(
bottomNavigationBar: BottomNavigationBar(
items: const <BottomNavigationBarItem>[
BottomNavigationBarItem(
icon: Icon(CupertinoIcons.money_dollar),
label: 'Payment',
),
BottomNavigationBarItem(
icon: Icon(CupertinoIcons.home),
label: 'Home',
),
BottomNavigationBarItem(
icon: Icon(Icons.person),
label: 'Profile',
),
],
currentIndex: _selectedIndex,
selectedItemColor: orange_red1,
unselectedItemColor: Colors.grey,
onTap: _onItemTapped,
),
body: _widgetOptions.elementAt(_selectedIndex),
);
}
}
我想从底部导航的每个页面都有一个不同的(一些应用程序栏有不同的图标和标题。因此不能在AppMainPage中使用普通的应用程序栏)脚手架小部件内的AppBar如下所示。
主页appbar代码
class HomePage extends StatefulWidget {
@override
_HomePageState createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.white,
appBar: AppBar(
backgroundColor: orange_red1,
title: Text('Home'),
elevation: 0,
),
body: Stack(...))
}
}
我不确定我的代码实现是否符合我的要求,如果有人能在这方面提供帮助,我很高兴。
**Updated**
Note: As I read a line about `WillPopScope` wont work in iOS.
return WillPopScope(
onWillPop: () async {
//todo
return Future.value(false);
},
child: Scaffold(
backgroundColor: Colors.white,
appBar: AppBar(
backgroundColor: orange_red1,
title: Text('Home'),
elevation: 0,
leading: SizedBox(),//any one below or SizeBox()
automaticallyImplyLeading: false,//any one below or SizeBox()
),
body: Stack(...))
);
}
本文向大家介绍Flutter实现底部导航栏,包括了Flutter实现底部导航栏的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Flutter实现底部导航栏的具体代码,供大家参考,具体内容如下 效果 实现 先将自动生成的main.dart里面的代码删除, 创建app.dart作为首页的页面文件 创建today.dart、kb.dart、playground.dart三个页面文件作为ta
我有一个具有以下4种布局的项目: 实际上,我有一个活动,其中包含一个底部的应用程序栏和一个NavHostFragment,在那里注入片段。主要片段是主视图。有一个管理和一个设置片段,它们都是与主视图类似的顶级视图,但并不相互依赖。这3个片段可以通过单击导航抽屉中的项目进行切换。为了简化,我正在尝试新的导航架构组件。 现在我有一些设计问题: 我是否应该将底部的应用程序栏移动到片段中,因为它们彼此不依
问题内容: 当我按下a时,它在new的后退按钮中有一些标题,如果标题中包含很多文本,则在iPhone 4s中看起来不太好,所以我想删除它。 如果我在函数中添加一些代码,那将是一个麻烦。 还有更好的方法吗? 问题答案: 如果要返回箭头,则将以下代码放入文件中。 另一个选择在下面给出。 在 在 更新: 更新SWIFT 4.1: 使用偏移 因此可能是您的问题已解决。 快乐的编码。
本文向大家介绍Flutter实现底部导航栏效果,包括了Flutter实现底部导航栏效果的使用技巧和注意事项,需要的朋友参考一下 大家最近都在讨论新鲜技术-flutter,小编也在学习中,遇到大家都遇到的问题,底部导航。下面给大家贴出底部导航的编写,主要参考了lime这个项目。 上代码 一.在main.dart文件中 定义APP的基本信息 其中主要代码部分 其中,各个页面的主要声明 底部导航栏的内容
本文向大家介绍Flutter底部导航栏的实现方式,包括了Flutter底部导航栏的实现方式的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Flutter底部导航栏的实现代码,供大家参考,具体内容如下 老规格,先看图: 程序主结构如下: 1.在程序主入口文件main.dart添加如下代码 2.创建4个界面,home_page.dart、constant_page.dart、find_p
很长一段时间以来,我一直在研究如何保存片段之间的状态,所以当我返回时,就好像你从未离开过一样。谷歌照片就是一个重要的例子。当你滚动浏览你的照片,然后转到另一个片段并返回时,你会保持原样。我的问题是,既然我的应用程序加载了不同的片段,当它们返回到这些片段时,它们会被重新创建,而不是像谷歌照片那样加载以前的状态,那么这怎么可能实现呢。我所尝试的: 定义nav_host_fragment的部分代码,因为