gpt4 book ai didi

flutter - Flutter 中的 shrinkWrap 属性有什么作用?

转载 作者:IT老高 更新时间:2023-10-28 12:38:42 29 4
gpt4 key购买 nike

我是 Flutter 的新手,非常渴望学习这项技术。我无法理解 ListViewshr​​inkWrap 属性的工作。我无法理解 Flutter documentation .

最佳答案

通常一个 ListView(以及 GridViewPageViewCustomScrollView)试图填充所有可用的父元素给定的空间,即使列表项需要更少的空间。

使用 shr​​inkWrap: true,您可以更改此行为,以便 ListView 只占用它需要的空间(当有更多项目时它仍然会滚动)。

看看这个例子:

import 'package:flutter/material.dart';

void main() => runApp(App());

class App extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(),
body: Center(
child: Container(
margin: EdgeInsets.all(32),
decoration: BoxDecoration(border: Border.all(color: Colors.red)),
child: ListView(
shrinkWrap: false,
children: <Widget>[
ListTile(title: Text('Item 1')),
ListTile(title: Text('Item 2')),
ListTile(title: Text('Item 3')),
],
),
),
),
),
);
}
}

使用 shr​​inkWrap: false:

without shrinkWrap

使用 shr​​inkWrap: true:

with shrinkWrap

您可以在 AlertDialogs 中使用它:当只有几个项目时,使对话框尽可能小。当项目很多时,填充屏幕高度并使列表可滚动:

Dialog

Dialog

关于flutter - Flutter 中的 shrinkWrap 属性有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54007073/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com