Flutter : PageView.builder 到另一个页面
Flutter : PageView.builder to another page
我想在 flutter 中使用 PageView.Builder 将页面导航到另一个页面。如何在我的代码中实现它?
这是我的代码
...
List<StatefulWidget> pages = [
HomePage(),
ListDoaPage(),
QiblatPage(),
FavPage()
];
PageController controller = PageController();
int _selectedIndex = 0;
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
extendBody: true,
body: PageView.builder(
itemCount: 4,
controller: controller,
onPageChanged: (page) {
setState(() {
_selectedIndex = page;
});
},
itemBuilder: (context, position) {
return
// ????
;
}),
...
我想要的结果可能是这样
谢谢:)
只需将您的页面放入 itemBuilder:
List<StatefulWidget> pages = [
HomePage(),
ListDoaPage(),
QiblatPage(),
FavPage()
];
PageController controller = PageController();
int _selectedIndex = 0;
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
extendBody: true,
body: PageView.builder(
itemCount: 4,
controller: controller,
onPageChanged: (page) {
setState(() {
_selectedIndex = page;
});
},
itemBuilder: (context, position) {
return pages[position];
}),
我想在 flutter 中使用 PageView.Builder 将页面导航到另一个页面。如何在我的代码中实现它?
这是我的代码
...
List<StatefulWidget> pages = [
HomePage(),
ListDoaPage(),
QiblatPage(),
FavPage()
];
PageController controller = PageController();
int _selectedIndex = 0;
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
extendBody: true,
body: PageView.builder(
itemCount: 4,
controller: controller,
onPageChanged: (page) {
setState(() {
_selectedIndex = page;
});
},
itemBuilder: (context, position) {
return
// ????
;
}),
...
我想要的结果可能是这样
谢谢:)
只需将您的页面放入 itemBuilder:
List<StatefulWidget> pages = [
HomePage(),
ListDoaPage(),
QiblatPage(),
FavPage()
];
PageController controller = PageController();
int _selectedIndex = 0;
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
extendBody: true,
body: PageView.builder(
itemCount: 4,
controller: controller,
onPageChanged: (page) {
setState(() {
_selectedIndex = page;
});
},
itemBuilder: (context, position) {
return pages[position];
}),