flutter - 在 Flutter 中从 PageView 中的 Page 获取回调
问题描述
我有一个综合浏览量,我想更改 WalkThroughScreen 中具有该综合浏览量的按钮的颜色:
class WalkThroughScreen extends StatefulWidget {
@override
WalkThroughScreenState createState() => WalkThroughScreenState();
}
class WalkThroughScreenState extends State<WalkThroughScreen> {
int currentIndexPage = 0;
int pageLength;
PageController _pageController = PageController(
initialPage: 0,
);
List<Widget> _pages;
@override
Widget build(BuildContext context) {
return Scaffold(
body: Stack(
children: <Widget>[
Container(
width: MediaQuery.of(context).size.width,
height: MediaQuery.of(context).size.height,
child: PageView(
controller: _pageController,
physics: NeverScrollableScrollPhysics(), // verhindert swipen
children: [
Welcome()
SecondPage()
],
onPageChanged: (value) {
setState(() => currentIndexPage = value);
},
),
),
Positioned(
bottom: 40,
left: 0,
right: 0,
child: Container(
padding: EdgeInsets.symmetric(horizontal: 20),
child: ElevatedButton(
onPressed: () {
_pageController.animateToPage(
currentIndexPage + 1,
duration: Duration(milliseconds: 200),
curve: Curves.linear,
);
},
style: ElevatedButton.styleFrom(
primary: Colors.blue, // background
onPrimary: Colors.white, // foreground
elevation: 0,
),
child: Container(
width: MediaQuery.of(context).size.width,
padding: EdgeInsets.symmetric(vertical: 15),
alignment: Alignment.center,
child: Text(
'Next',
),
),
),
),
),
],
),
);
}
}
Pageview 如何与其中一个页面进行通信?在这种情况下欢迎。
class Welcome extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
body: Container(
height: double.infinity,
width: double.infinity,
child: TextButton(onPressed: () {}, child: Text("Change Color"))),
);
}
}
是否可以将按钮放在欢迎页面并与 WalkthroughScreen 进行通信?我想逐步实施注册过程。
解决方案
推荐阅读
- command-line-arguments - 如何从命令行运行 pentaho 作业
- c# - 是什么让 ValueTuple 协变?
- python - 字符串拆分为所需的结果
- regex - Shell 脚本/正则表达式替换句子,除了中间的关键字(重构 Angular 指令)
- python - 当 I/O 缓冲区达到一定大小时如何刷新表(PyTables)
- spring-boot - Spring、JMS 和 IBM MQ:配置重试的正确方法?
- google-apps-script - 如果满足条件,我需要帮助将行中的某些单元格复制并粘贴到另一个工作表
- reactjs - Multiple useState in useEffect, order of execution
- ubuntu - cron被系统杀死
- maven - 覆盖 Databricks 依赖项