Flutter:从bottomnavigationview内部的页面打开页面

时间:2019-01-01 07:27:59

标签: dart flutter

我想从主页打开个人资料页面,而无需按底部导航项内的“个人资料”按钮。 感谢帮助。 这是我项目的主要课程。我将所有页面放在这里,我已经将所有页面导入到这里。

MainClass

int _currentIndex = 0;
    final List<Widget> _children = [
        HomePage(),
        MessagePage(),
        ProfilePage()
    ];
  @override
  Widget build(BuildContext context) {
    return Scaffold(
     appBar: AppBar(
       title: Text('My Flutter App'),
     ),
    body: _children[_currentIndex],
     bottomNavigationBar: BottomNavigationBar(
       currentIndex: _currentIndex,
       onTap: onTabTapped,
       items: [
         BottomNavigationBarItem(
           icon: new Icon(Icons.home),
           title: new Text('Home'),

         ),
         BottomNavigationBarItem(
           icon: new Icon(Icons.mail),
           title: new Text('Messages'),
         ),
         BottomNavigationBarItem(
           icon: Icon(Icons.person),
           title: Text('Profile')
         )
       ],
     ),
   );
 }

这是我的主页。此页面与个人资料和消息页面相同。我需要从主页打开个人资料页面,而无需按底部的个人资料菜单。我只想按主页内的个人资料按钮。

主页

import 'package:flutter/material.dart';
import 'package:navigation/profile_page.dart';

class HomePage extends StatefulWidget {
  _HomePageState createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Column(
          children: <Widget>[
            Text("Home Page"),
            RaisedButton(
              child: Text("GO TO PROFILE PAGE"),
              onPressed: (){

                );
              },
            )
          ],
        ),
      ),
    );
  }
}

enter image description here

1 个答案:

答案 0 :(得分:1)

这可以通过直接调用类名来完成。 例如,考虑 Profile()是扩展statefull类的类。

家庭课堂

browser

类似地,您也可以加载其他类。 希望对您有所帮助:)