Flutter:修复底部溢出

问题描述 投票:0回答:1

我将元素对称地成对排列。我添加了6张卡用于滚动,但是出现了问题。当您点击搜索时也是如此。请帮助我,我不知道如何解决这个问题enter image description hereenter image description here

这是我为卡片编写的代码

class Body extends StatelessWidget {
  const Body({Key? key}) : super(key: key);
  @override
  Widget build(BuildContext context) {
    return Column(
      children: [ 
        GridView.builder(        
          itemCount: categoryList.length, 
          shrinkWrap: true,
          physics:  NeverScrollableScrollPhysics(),
           itemBuilder: (context, index) {       
            return CategoryCard(
             category: categoryList[index],
            );
          },
          padding: const EdgeInsets.symmetric(
            horizontal: 25,
            vertical: 30,
          ),
          gridDelegate:  SliverGridDelegateWithFixedCrossAxisCount(
            crossAxisCount: 2,
            childAspectRatio: 0.75,
            crossAxisSpacing: 20,
            mainAxisSpacing: 24,
         ),
        ), 
      ],  
    );
  }
  
flutter mobile
1个回答
0
投票

只需删除

Column
小部件并直接使用
GridView

Widget build(BuildContext context) {
    return GridView.builder(        
          itemCount: categoryList.length, 
          shrinkWrap: true,
          physics:  NeverScrollableScrollPhysics(),
           itemBuilder: (context, index) {       
            return CategoryCard(
             category: categoryList[index],
            );
          },
          padding: const EdgeInsets.symmetric(
            horizontal: 25,
            vertical: 30,
          ),
          gridDelegate:  SliverGridDelegateWithFixedCrossAxisCount(
            crossAxisCount: 2,
            childAspectRatio: 0.75,
            crossAxisSpacing: 20,
            mainAxisSpacing: 24,
         ),
    );

或者,使用

Expanded
小部件。

Widget build(BuildContext context) {
  return Column(
    children: [
      Expanded(
        child: GridView.builder(
          itemCount: categoryList.length,
          shrinkWrap: true,
          physics: NeverScrollableScrollPhysics(),
          itemBuilder: (context, index) {
            return CategoryCard(
              category: categoryList[index],
            );
          },
          padding: const EdgeInsets.symmetric(
            horizontal: 25,
            vertical: 30,
          ),
          gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
            crossAxisCount: 2,
            childAspectRatio: 0.75,
            crossAxisSpacing: 20,
            mainAxisSpacing: 24,
          ),
        ),
      ),
    ],
  );
}

© www.soinside.com 2019 - 2024. All rights reserved.