Как открыть другое действие .dart из нижнего элемента панели навигации? - PullRequest
0 голосов
/ 21 мая 2018

Я реализовал следующую нижнюю панель навигации с флаттером

import 'package:flutter/material.dart';

class Test extends StatelessWidget  {
@override
Widget build(BuildContext context) {
// TODO: implement build
return new Scaffold(
    bottomNavigationBar: new BottomNavigationBar(
        items: [
          new BottomNavigationBarItem(
              icon: new Icon(Icons.add),
              title: new Text("trends")
          ),
          new BottomNavigationBarItem(
              icon: new Icon(Icons.location_on),
              title: new Text("feed")
          ),
          new BottomNavigationBarItem(
              icon: new Icon(Icons.people),
              title: new Text("community")
          )
        ]
    )
);}}

Как мне сделать, onTap на каждом элементе BottomNavigationBar открывает новый класс .dart?Я пробовал с TabBarView для вкладки, но понятия не имею, что делать для нижней панели навигации.

1 Ответ

0 голосов
/ 21 мая 2018

Вы можете сделать это так

import 'package:flutter/material.dart';

class Test extends StatefulWidget {
  @override
  TestState createState() {
    return new TestState();
  }
}

class TestState extends State<Test> {
  int _currentIndex = 0;

  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      bottomNavigationBar: new BottomNavigationBar(
        currentIndex: _currentIndex,
        onTap: (newIndex) => setState((){_currentIndex = newIndex;}),
        items: [
          new BottomNavigationBarItem(
              icon: new Icon(Icons.add),
              title: new Text("trends")
          ),
          new BottomNavigationBarItem(
              icon: new Icon(Icons.location_on),
              title: new Text("feed")
          ),
          new BottomNavigationBarItem(
              icon: new Icon(Icons.people),
              title: new Text("community")
          ),
        ],
      ),
      body: new IndexedStack(
        index: _currentIndex,
        children: <Widget>[
          new YourCustomTrendsWidget(),
          new YourCustomFeedWidget(),
          new YourCustomCommunityWidget(),
        ],
      ),
    );
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...