我想根据用户的操作改变页面的显示顺序,如果他点击按钮1,红色页面首先显示,如果他点击按钮2,黄色页面首先显示。
如何更改页面的顺序?
我使用pageview.builder是正确的吗?
class PageViewTest extends StatefulWidget {
const PageViewTest({super.key});
@override
State<PageViewTest> createState() => _PageViewTestState();
}
class _PageViewTestState extends State<PageViewTest> {
final _pageController = PageController();
@override
Widget build(BuildContext context) {
return PageView(
controller: _pageController,
children: [
Column(
children: [
TextButton(
onPressed: () {
//show container red with next page
},
child: const Text("Button 1")),
TextButton(
onPressed: () {
//show container yellow next page
},
child: const Text("Button 2")),
],
),
Container(
color: Colors.red,
),
Container(
color: Colors.yellow,
),
],
);
}
}
2条答案
按热度按时间bnl4lu3b1#
试试这样
az31mfrm2#
您可以使用
PageView.builder
或普通PageView
,两者都可以工作。至于页面的改变,你应该使用传入
PageView
的PageController
,如果你不想要动画,在你的按钮中调用_pageController.animateToPage(pageNumber)
或_pageController.jumpToPage(pageNumber)
。