flutter - Flutter - 如何从底部菜单导航栏的第一个标签屏幕打开第二个屏幕
问题描述
我有一个主屏幕,底部标签栏有 4 个栏。现在我关心的是第一个标签栏。
例如,第一个标签栏中显示了不同的类别。正如您在屏幕截图中看到的,有 2 个类别:
1) 类别 1(摩托车、公路和配件) 2) 热门类别
现在,当我单击任何类别 1 时,我想要底部的标签栏(4 个标签栏),但是当我打开流行的类别时,我不想要那个标签栏。
所以我被困在这里。
我的代码片段如下。
Scaffold(
backgroundColor: Colors.white,
body: GestureDetector(
onTap: () {
FocusScope.of(context).requestFocus(new FocusNode());
},
child: SafeArea(
top: true,
child: SizedBox.expand(
child: PageView(
physics: new NeverScrollableScrollPhysics(),
controller: _pageController,
onPageChanged: (index) {
setState(() => currentIndex = index);
},
children: <Widget>[
Products(),
News(),
Service(),
Events(),
],
),
),
),
),
floatingActionButton: FloatingActionButton(
elevation: 0,
child: Image.asset('assets/icons/bottom_center.png'),
backgroundColor: Colors.transparent,
focusElevation: 10,
disabledElevation: 10,
highlightElevation: 10,
onPressed: () {
Navigator.push(context,
MaterialPageRoute(builder: (BuildContext context) {
return WorldCategories();
}));
},
),
floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked,
bottomNavigationBar: BottomNavigationBar(
currentIndex: currentIndex,
onTap: (index) {
setState(() {
currentIndex = index;
_pageController.jumpToPage(index);
});
},
items: [
BottomNavigationBarItem(
icon: Icon(Icons.ac_unit), title: Text("A")),
BottomNavigationBarItem(
icon: Icon(Icons.ac_unit), title: Text("X")),
BottomNavigationBarItem(
icon: Icon(Icons.ac_unit), title: Text("Y")),
BottomNavigationBarItem(
icon: Icon(Icons.ac_unit), title: Text("Z")),
]),
);
并且 floatActionButton 在第二个屏幕上设置为顶部。
解决方案
所想的是,您可以将 GestureDetector 用于热门类别文本,然后点击将其重定向到您想要的页面。
GestureDetector(
onTap: () async {
// here you make your navigation for your desired page
Navigator.push(
context,
MaterialPageRoute(builder: (context) => youPage()),
);
},
child: Padding(
child: Text(
'Populat Categoreies',
),
))
推荐阅读
- google-cloud-platform - 无法在 GCP 上创建 Cloud Composer 环境
- python - 使用 Python 和 Django 将 Markdown2 文本呈现为字符串
- java - 如何读取多重编码的 zip 文件
- go - 在这种情况下是否可以用 64 位替换 32 位哈希函数?
- javascript - 为什么在 Javascript 中将 0 传递给 parseInt 的基数会返回十进制值?
- javascript - 在反应中使用字符串设置数据属性
- javascript - 共享组件未在主机应用程序的 SSR 中呈现
- javascript - 基于 Array#reduce 如何识别最匹配某些特定约束的数组项?
- nginx - Nginx 重定向到本地图像
- python - 附加熊猫数据框?