Mas*_*cia 1 flutter singlechildscrollview
可以将 SingleChildScrollView 放入脚手架中,该脚手架在 SingleChildScrollView 上有另一个不需要滚动的小部件。例如,我有一个 SingleChildScrollView,我需要在指定位置添加一个固定按钮,但该按钮不会滚动。
我尝试使用 Stack 小部件,但是如果我在 SingleChildScrollView 之前添加按钮小部件,则无法单击,否则如果在 SingleChildScrollView 之后添加按钮,滚动触摸不起作用。
有人有什么问题吗?
现在我们了解了您想要实现的目标,可以使用 Stack 小部件、ListView 并使用 Align 小部件来定位包含要用作标题的小部件的容器:
Stack(
children: <Widget>[
ListView.builder(
itemCount: 20,
itemBuilder: (context, index) {
return Container(
child: Text('item $index'),
height: 40,
color: Colors.blueGrey,
margin: EdgeInsets.all(14),
);
}
),
Align(
alignment: Alignment.topCenter,
child: Container(
margin: EdgeInsets.only(top: 20),
alignment: Alignment.center,
height: 30,
width: 300,
color: Colors.blue,
child: Text('This is a title')
),
),
],
)
Run Code Online (Sandbox Code Playgroud)
在最终了解用户想要什么之前的先前答案。
如果我正确理解了您的问题,并且您希望在视图中在顶部有一个固定的 Widget 并在其下方有一个可滚动项目列表,那么带有 SliverAppBar 和 SliverList 的 CustomScrollView 将是您的解决方案。请看下面的例子:
CustomScrollView(
slivers: <Widget>[
SliverAppBar(
pinned: true,
title: Center(child: Text('Title')),
),
SliverList(
delegate: SliverChildBuilderDelegate(
(BuildContext context, int index) {
return Container(
height: 40,
margin: EdgeInsets.all(10),
alignment: Alignment.center,
color: Colors.teal[100 * (index % 9)],
child: Text('grid item $index'),
);
},
childCount: 20
),
),
],
)
Run Code Online (Sandbox Code Playgroud)
如果你想让固定的 Widget 在视图的底部,你可以使用bottomNavigationBarScaffold`的属性:
Scaffold(
...
bottomNavigationBar: Container(
alignment: Alignment.center,
height: 50,
child: Text('title')
),
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6876 次 |
| 最近记录: |