Виджет CupertinoTabView
Виджет CupertinoTabView оборачивают в tabBuilder у CupertinoTabScaffold.
Синтаксис
CupertinoTabView(builder: (context) { return CupertinoPageScaffold(child: Center(child: Text('abcde')))
})
Параметры
| Параметр | Описание |
|---|---|
builder | Корневой экран вкладки. |
routes | Именованные маршруты вкладки. |
Пример
Давайте TabView:
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
void main() {
runApp(CupertinoApp(home: Demo()));
}
class Demo extends StatelessWidget {
@override
Widget build(BuildContext context) {
return CupertinoTabScaffold(tabBar: CupertinoTabBar(items: const [BottomNavigationBarItem(icon: Icon(CupertinoIcons.home),
label: 'abcde')]), tabBuilder: (c, i) {
return CupertinoTabView(builder: (ctx) {
return CupertinoPageScaffold(child: Center(child: Text('abcde')));
}
);
}
);
}
}
Вкладка показывает 'abcde'.
Пример
Давайте push внутри TabView:
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
void main() {
runApp(CupertinoApp(home: Demo()));
}
class Demo extends StatelessWidget {
@override
Widget build(BuildContext context) {
return CupertinoTabScaffold( tabBar: CupertinoTabBar( items: const [ BottomNavigationBarItem(icon: Icon(CupertinoIcons.home),
label: 'abcde'), ], ), tabBuilder: (context, index) {
return CupertinoTabView( builder: (ctx) {
return CupertinoPageScaffold( child: Center( child: CupertinoButton( onPressed: () {
Navigator.of(ctx).push( CupertinoPageRoute<void>( builder: (c2) {
return CupertinoPageScaffold( child: Center( child: Text('12345'), ), );
}
, ), );
}
, child: Text('abcde'), ), ), );
}
, );
}
, );
}
}
Кнопка 'abcde' откроет второй экран '12345' в Navigator вкладки.
Смотрите также
-
виджет
CupertinoApp,
корень приложения iOS -
виджет
CupertinoPageScaffold,
экран с панелью iOS -
виджет
CupertinoNavigationBar,
верхняя панель iOS -
виджет
CupertinoButton,
кнопка iOS