Flutter 颤振,如何设置列表视图项的最大高度
下面是我尝试过的Flutter 颤振,如何设置列表视图项的最大高度,flutter,flutter-layout,Flutter,Flutter Layout,下面是我尝试过的 SizedBox( width: MediaQuery.of(context).size.width * 0.88, height: MediaQuery.of(context).size.height * 0.42, child: ListView.builder( itemCount: 10,
SizedBox(
width: MediaQuery.of(context).size.width * 0.88,
height: MediaQuery.of(context).size.height * 0.42,
child: ListView.builder(
itemCount: 10,
itemBuilder: (BuildContext context, int index) {
return _buildListItem();
}),
)
和列表小部件
Widget _buildListItem() {
return ConstrainedBox(
constraints: BoxConstraints(
minHeight: 20,
maxHeight: 120),
child:Container(child:Text("Looooongggg textttttttttt
the text size is alwayysss different "),
),}
我想动态设置列表视图项的大小,但最大高度固定为120。换句话说,不管文本有多长,容器也不希望增加到120或更多
此代码始终仅显示最大高度的容器。不管字母有多短
如何实现这一点?您可以通过将“滚动物理”设置为“永不滚动物理”来实现。通过这样做,列表视图将占据足够的高度,以便其所有子视图都可以放入其中。 例如:-
...
ListView.builder(
physics:NeverScrollableScrollPhysics(),//this line would the change
itemCount: 10,
itemBuilder: (BuildContext context, int index) {
return _buildListItem();
}),
),
...
试试IntrinsicHeight小部件
Widget _buildListItem() {
return ConstrainedBox(
constraints: BoxConstraints(
minHeight: 20,
maxHeight: 120),
child: IntrinsicHeight(child:Container(child:Text("Looooongggg textttttttttt
the text size is alwayysss different "),
)),}
使用
Container
并为BoxConstraints
Container(
child: ListView.builder(itemBuilder: (BuildContext context, index) {
return Container(
constraints: BoxConstraints(minHeight: 20, maxHeight: 40),
color: Colors.red,
child: Divider(),
);
}, itemCount: itemsList.length,),
),
输出:
谢谢,但必须滚动将列表视图包装在一个子滚动视图小部件中,并在列表视图中启用收缩包装真。这将对您有所帮助。非常感谢。我会参考的,谢谢!它工作得很好。我只是想知道,除了这个,你还知道别的方法吗?我只是问我的学习目的。如果你想不起来,你就不用回答了。没人,对不起((这与我在问题中提出的代码几乎相同。除了容器和受约束的属性来回交换。这将保持最小和最大高度约束,这项工作我只是按照您的建议进行了。但它不起作用。它始终显示最大高度这可能是因为您的孩子太大,它的最多40分钟