flutter - 标签未满时如何禁用滚动?
问题描述
我正在尝试制作一个嵌套标签,但我有一点外观问题。当我有一个空标签时,我想禁用滚动。
当您查看下面的示例时,我有两个选项卡 - 其中一个包含一个列表,第二个仅包含一个文本小部件。为什么可能滚动也是第二个标签?我只会在必要时滚动。
DefaultTabController(
length: 2,
child: NestedScrollView(
headerSliverBuilder: (context, value) {
return [
SliverToBoxAdapter(
child: Container(
height: 100,
child: Center(
child: Text("Header")
),
),
),
SliverToBoxAdapter(
child: TabBar(
labelColor: Colors.red,
unselectedLabelColor: Colors.black54,
tabs: [Text("Tab 1"), Text("Tab 2")]))
];
},
body: TabBarView(
children: [
ListView.builder(
itemCount: 150,
itemBuilder: (BuildContext context, int index) {
return Text("item");
}),
ListView.builder(
itemCount: 1,
itemBuilder: (BuildContext context, int index) {
return Text("One item");
}),
],
),
),
)
解决方案
这是一个ListView
问题。默认情况下,ListView
将占用屏幕上的所有可用空间,并且始终可以滚动。如果这不是所需的行为,您可以在其上设置以下内容:
ListView(
shrinkWrap: true,
primary: false,
// ...
);
推荐阅读
- reactjs - 使用云功能登录反应原生用户
- http - 哪个本地端口用于 http 或 ssh 协议?
- javascript - 如何让我的用户脚本在隔离沙箱和 unsafeWindow 中执行代码?
- python - 如何使用 pygame 使图像变大
- javascript - 构建不同的生产版本的 React 应用程序,实现部分不同
- django - Django 错误:未找到带有参数 '('',)' 的 'editpost' 的反向操作。尝试了 1 种模式:['create/editpost/(?P
[^/]+)/$'] - c - cc 命令无法创建目标文件
- python - 为什么find_all按类选择美丽的汤返回空列表?
- mysql2 - 节点/MySQL (mysql2) 连接池
- python - 如何用相应的 RGB 数组绘制 2D numpy 坐标数组?