アプリに入った後、HomePage() をデフォルトのページとして設定するにはどうすればよいですか? 私のアプリの設計では、ホーム ボタンを下の NavBar の中央に配置しました。
Bottom NavBar は問題なく動作し、中央から開始しますが、ページは常に CameraPage() から開始します
コードは次のようになります
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.cyan,
),
home: Home(),
);
}
}
これはホーム()です
class Home extends StatefulWidget {
Home({Key key}) : super(key: key);
@override
_HomeState createState() => _HomeState();
}
class _HomeState extends State<Home> {
PageController _pageController = new PageController();
List<Widget> _screens = [
CameraPage(),
HomePage(),
InventoryPage(),
];
int _selectedIndex = 0;
void _onPagedChanged(int index) {
setState(() {
_selectedIndex = index;
});
}
void _onItemTapped(int selectedIndex) {
_pageController.jumpToPage(selectedIndex);
}
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Color(0xfff8f5f1),
bottomNavigationBar: CurvedNavigationBar(
index: _selectedIndex,
onTap: _onItemTapped,
items: <Widget>[
ImageIcon(
AssetImage(''),
size: 30,
),
ImageIcon(
AssetImage(''),
size: 30,
),
ImageIcon(
AssetImage(''),
size: 30,
),
],
),
body: PageView(
controller: _pageController,
children: _screens,
onPageChanged: _onPagedChanged,
),
);
}
}