【Flutter】CupertinoTabBarのページ遷移についてです

Dart

import 'package:flutter/cupertino.dart'; class Home2 extends StatelessWidget { const Home2({Key? key}) : super(key: key); Widget build(BuildContext context) { return const CupertinoApp( home: RootPage(), ); }} class RootPage extends StatefulWidget { const RootPage({Key? key}) : super(key: key); State<RootPage> createState() => _RootPage();} class _RootPage extends State<RootPage> with WidgetsBindingObserver { final _controller = CupertinoTabController(); static const List<Widget> _screens = <Widget>[ HomePage(), Serch(), Like(), Account(), ]; Widget build(BuildContext context) { return CupertinoTabScaffold( backgroundColor: Color.fromARGB(255, 250, 250, 248), tabBar: CupertinoTabBar( items: const <BottomNavigationBarItem>[ BottomNavigationBarItem( icon: Icon(CupertinoIcons.house_fill), ), BottomNavigationBarItem( icon: Icon(CupertinoIcons.search), ), BottomNavigationBarItem( icon: Icon(CupertinoIcons.heart_fill), ), BottomNavigationBarItem( icon: Icon(CupertinoIcons.person_fill), ), ], ), tabBuilder: (BuildContext context, int index) { return CupertinoTabView( builder: (BuildContext context) { return _screens[index]; }, ); }, controller: _controller, ); }} class HomePage extends StatelessWidget { const HomePage({Key? key}) : super(key: key); Widget build(BuildContext context) { return CupertinoPageScaffold( backgroundColor: Color.fromARGB(255, 250, 250, 248), child: Text('home'), ); }} class Serch extends StatelessWidget { const Serch({Key? key}) : super(key: key); Widget build(BuildContext context) { return CupertinoPageScaffold( backgroundColor: Color.fromARGB(255, 250, 250, 248), child: Text('serch'), ); }} class Like extends StatelessWidget { const Like({Key? key}) : super(key: key); Widget build(BuildContext context) { return CupertinoPageScaffold( backgroundColor: Color.fromARGB(255, 250, 250, 248), child: Text('like'), ); }} class Account extends StatelessWidget { const Account({Key? key}) : super(key: key); Widget build(BuildContext context) { return CupertinoPageScaffold( backgroundColor: Color.fromARGB(255, 250, 250, 248), child: Text('account'), ); }}

コメントを投稿

0 コメント