Android 使用按钮单击和滚动进行水平页面交换-颤振
我试图通过使用按钮和滚动来水平交换屏幕。我正试着做这样的事情。我希望你明白我想做什么 下面是我实现这一目标的代码Android 使用按钮单击和滚动进行水平页面交换-颤振,android,flutter,dart,pageviews,flutter-pageview,Android,Flutter,Dart,Pageviews,Flutter Pageview,我试图通过使用按钮和滚动来水平交换屏幕。我正试着做这样的事情。我希望你明白我想做什么 下面是我实现这一目标的代码 class ChefProfile extends StatefulWidget { @override _ChefProfileState createState() => _ChefProfileState(); } class _ChefProfileState extends State<ChefProfile> { int pageView
class ChefProfile extends StatefulWidget {
@override
_ChefProfileState createState() => _ChefProfileState();
}
class _ChefProfileState extends State<ChefProfile> {
int pageViewIndex;
PageController _pgController = PageController(initialPage: 0, keepPage: true);
List pageContent = [ChefDishes(), ChefInfo()];
@override
Widget build(BuildContext context) {
.
. // Some code (Irrelevant to question)
.
Container(
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
InkResponse(
onTap: () => setState(() {
pageViewIndex = 0;
}),
// --- DISH BUTTON
child: Container(
...
child: Text(
"Dishes",
style: TextStyle(
...
),
),
),
),
Spacer(),
// --- INFO BUTTON
InkResponse(
onTap: () => setState(() {
pageViewIndex = 1;
}),
child: Container(
...
child: Text(
"Info",
style: TextStyle(
...
),
),
),
),
],
),
),
Container(
...
child: PageView.builder(
controller: _pgController,
itemCount: pageContent.length,
itemBuilder: (context, pageViewIndex) {
return pageContent[pageViewIndex];
},
),
),
我正在使用pageScreenIndex保存屏幕索引,并在单击任一按钮时更改其值。我是个新手。
我的屏幕现在看起来像这样。它会在交换时更改屏幕,但不会在单击按钮时更改屏幕
您可以使用animateToPage实现它
您可以使用animateToPage实现它
谢谢@Pushpendra这很有帮助谢谢@Pushpendra这很有帮助
InkResponse(
onTap: () => {
pageViewIndex = 0;
controller.animateToPage(pageViewIndex,
duration: Duration(milliseconds: 100),
curve: Curves.easeIn,
);
},
// --- DISH BUTTON
child: Container(
...
child: Text(
"Dishes",
style: TextStyle(
...
),
),
),
),