Flutter 中两个容器之间不需要的空间
Posted
技术标签:
【中文标题】Flutter 中两个容器之间不需要的空间【英文标题】:Unwanted space between 2 containers in Flutter 【发布时间】:2021-02-22 10:39:07 【问题描述】:Unwanted space between 2 containers 我想删除文本小部件和列表视图(轮播滑块)之间的额外空间。这两个小部件都嵌入在 Container Widget 中。我没有在这 2 个小部件之间添加任何 SizedBox 或 Spacer。我不知道为什么这个额外的空间来了! 这是示例代码-
class _DashBoardState extends State<DashBoard>
@override
Widget build(BuildContext context)
return Scaffold(
body: Column(
children: [
SizedBox(
height: 50,
),
Container(
child: Text(
'First Text Box',
style: TextStyle(
fontSize: 22,
),
),
),
Container(
height: 220,
child: ListView(
children: <Widget>[
CarouselSlider(
height: 180.0,
enlargeCenterPage: true,
autoPlay: true,
aspectRatio: 16 / 9,
autoPlayCurve: Curves.fastOutSlowIn,
enableInfiniteScroll: true,
autoPlayAnimationDuration: Duration(milliseconds: 800),
viewportFraction: 0.8,
items: [
Container(
margin: EdgeInsets.all(5.0),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10.0),
image: DecorationImage(
image: NetworkImage(
"https://images.pexels.com/photos/2116475/pexels-photo-2116475.jpeg?
auto=compress&cs=tinysrgb&dpr=2&w=500"),
fit: BoxFit.cover,
),
),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Text(
'Usable Flower for Health',
style: TextStyle(
color: Colors.white,
fontWeight: FontWeight.bold,
fontSize: 18.0,
),
),
Padding(
padding: const EdgeInsets.all(15.0),
child: Text(
'Lorem Ipsum is simply dummy text use for printing and type script',
style: TextStyle(
color: Colors.white,
fontSize: 15.0,
),
textAlign: TextAlign.center,
],
),
],
),
)
] ,
),
);
【问题讨论】:
你的 CarouselSlider 是什么?你在使用 carousel_slider 包吗?你说它是一个 ListView,但 ListView 并不具备所有这些属性。能否提供 CarouselSlider 的代码(至少最少的代码)能够复现? 我在 pubsec.yaml 文件中使用了这个版本的 Carousel Slider:carousel_slider: ^1.4.1 【参考方案1】:我认为额外的空间来自 ListView 的默认填充。 来自文档here:
“默认情况下,ListView 将自动填充列表的可滚动末端以避免由 MediaQuery 的填充指示的部分障碍。为避免这种行为,请使用零填充属性覆盖。”
添加:
padding: EdgeInsets.all(0)
在您的 ListView
小部件中将其设置为 0。
我在您的代码示例中进行了尝试,它正确地删除了多余的空间。
【讨论】:
以上是关于Flutter 中两个容器之间不需要的空间的主要内容,如果未能解决你的问题,请参考以下文章
在 Flutter 中,您如何制作动画以将容器从 0 高度扩展到其内容的高度?
Flutter Mobile 或 Web 应用程序之间有啥区别?
Flutter 列显示 Android 中小部件之间的额外空间