Это должен быть StatefulWidget
Надеюсь, это поможет
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class BottomNavigationBar1 extends StatefulWidget{
@override
_BottomNavigationBar1State createState() =>_BottomNavigationBar1State();
}
class _BottomNavigationBar1State extends State<BottomNavigationBar1>{
int _currentIndex =0;
static const TextStyle optionStyle = TextStyle(fontSize: 30, fontWeight: FontWeight.bold);
static const List<Widget> _widgetOptions = <Widget>[
Text(
'Index 0: Home',
style: optionStyle,
),
Text(
'Index 1: Business',
style: optionStyle,
),
Text(
'Index 2: School',
style: optionStyle,
),
];
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("BottomNavigationBar Sample"),
),
body: Center(
child: _widgetOptions.elementAt(_currentIndex),
),
bottomNavigationBar: BottomNavigationBar(
items: [
BottomNavigationBarItem(
icon: Icon(Icons.home),
title: Text('Home')
),
BottomNavigationBarItem(
icon: Icon(Icons.business),
title: Text('Business'),
),
BottomNavigationBarItem(
icon: Icon(Icons.school),
title: Text('School'),
),
],
currentIndex: _currentIndex,
onTap: (index){
setState(() {
_currentIndex = index;
});
},
selectedItemColor: Colors.amber,
),
);
}
}