flutter - 如何将 PageView 与 Stack 一起使用?
问题描述
我是 Flutter 的新手,我喜欢 PageView 小部件,但我如何始终在顶部放置 AppBar 或其他元素?现在PageView正在改变整个页面,连同AppBar,你怎么能pin呢?使页面在 AppBar 下滚动
Scaffold(
body: Stack(
children: [
Padding(
padding: EdgeInsets.only(top: 50),
child: Container(
width: double.infinity,
height: 100,
color: Colors.blue,
),
),
FutureBuilder(
future: _futureMenu,
builder: (context, snapshot){
if(snapshot.hasData){
return PageView.builder(
itemBuilder: (context, position) {
return PageForPosition();
},
itemCount: snapshot.data.length, // Can be null
);
} else if (snapshot.hasError){
}
return Container(
child: Center(
child: CircularProgressIndicator(),
),
);
}
),
],
),
)
解决方案
将AppBar
小部件放在脚手架 appBar 参数中。
Scaffold(
appBar: AppBar(),//<-- Move appbar here.
body: Stack(
children: [
FutureBuilder(
future: _futureMenu,
builder: (context, snapshot){
if(snapshot.hasData){
return PageView.builder(
itemBuilder: (context, position) {
return PageForPosition();
},
itemCount: snapshot.data.length, // Can be null
);
} else if (snapshot.hasError){
return Center(child:Text('Error'));
}
return Container(
child: Center(
child: CircularProgressIndicator(),
),
);
}
),
],
),
)
检查这个飞镖垫。
推荐阅读
- postgresql - 我们应该使用哪种数据类型来存储卢比和派萨?
- java - 如何使用 MockMvc 测试以下功能?
- arrays - 获得二元预测的正确方法是什么?
- python - 如何平滑图形曲线
- nginx - 如何在 nginx 服务器的子域上安装 phpmyadmin my
- flutter - 当列表中的新项目动态添加到列表视图中时,不会调用列表项的 initState()
- python - Python在类定义中的顶级语句中初始化值
- javascript - 是否有正则表达式来掩盖动态字母数字字符串的中间区域?
- java - 如何用我的消息中的粗体文本替换用星号包围的文本
- python - 我在做什么错:删除具有给定值 Python3 的所有节点?