帮助我是一个颤振的新手,我已经构建了一个具有 OnTap TapGestureRecognizer 函数的文件,我试图在第二页中管理 pageView。我尝试了一些不同的选项,但我无法弄清楚如何让 pageController 更改第二页上的页面视图。
根类
class RootApp extends StatefulWidget {
@override
RootAppState createState() => RootAppState();
}
class RootAppState extends State<RootApp> {
bool isFavorite = false;
int pageIndex = 0;
PageController _pgController = PageController();
void pgCont(pg){
_pgController.animateToPage(pg, duration: Duration(milliseconds: 250), curve: Curves.bounceInOut);
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: PageView(controller: _pgController,
children: <Widget>[
getBody1() ,
getBody2(),
]),
bottomNavigationBar: getFooter(),
);
}
标题首页类
class HeaderHomePage extends StatelessWidget {
HeaderHomePage({
Key ?key
}) : super(key: key);
RootAppState rooting = RootAppState();
}
@override
Widget build(BuildContext context) {
return Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text.rich(
TextSpan(
text: "Body1",
recognizer: TapGestureRecognizer()
..onTap = (){
print('He Clicked Body1');
rooting.pgCont(1);
},
SizedBox(
width: 8,
),
Text.rich(
TextSpan(
text: "Body2",
recognizer: TapGestureRecognizer()
..onTap = (){
print('She clicked Body2');
rooting.pgCont(2);
},),
style: TextStyle(
color: white, fontSize: 17, fontWeight: FontWeight.w500),
)
],
);
请帮助我被困在看起来很简单的事情上,我在这里错过了什么或做错了什么?