颤振如何解决底部溢出

时间:2020-04-30 20:28:53

标签: flutter

我正在尝试在Breakfast.dart文件中添加以下格式的列表:

列出breakfastFoodList1 = [ 新食物(“ img / Espresso Double.png”,“ Expresso”,“热饮料,健康”,“ 30”,“ DAILY4”,“ 4.0”,“ 15分钟”,“ 10”), 新食物(“ img / Americano.png”,“ Americano”,“早餐,美味”,“ 10”,“ MORNINGX”,“ 3.4”,“ 10分钟”,“ 14”), ];

我在早餐和午餐滑块之间遇到了底部溢出错误,因为我试图在早餐滑块中添加两个以上的列表,但它不起作用。我想知道如果要再添加至少5个滑块,如何添加空间 Bottom overflow by 426 pixel

class HomeTabXD extends StatefulWidget{

@override
State createState() {
return _HomeTabXDState();
}
}

class _HomeTabXDState extends State<HomeTabXD> {
@override
Widget build(BuildContext context) {
SizeConfig().init(context);
return Stack(
  children: <Widget>[
    Column(
      crossAxisAlignment: CrossAxisAlignment.start,
      children: <Widget>[

        //Appbar
        SizedBox(
          height: SizeConfig.safeBlockVertical * 6.4,
        ),
        Padding(
          padding: EdgeInsets.symmetric(
              horizontal: SizeConfig.safeBlockHorizontal * 7),
          child: Row(
            mainAxisAlignment: MainAxisAlignment.spaceBetween,
            children: <Widget>[
              BackMenuXD(),
              Icon(Icons.person_outline,color: Colors.grey[800],)
            ],
          ),
        ),


        SizedBox(
          height: SizeConfig.safeBlockVertical * 4,
        ),
        Padding(
          padding: EdgeInsets.symmetric(
              horizontal: SizeConfig.safeBlockHorizontal * 7),
          child: Row(
            mainAxisAlignment: MainAxisAlignment.spaceBetween,
            children: <Widget>[
              Column(
                crossAxisAlignment: CrossAxisAlignment.start,
                children: <Widget>[
                  Text(
                    'Menu',
                    style: TextStyle(
                        fontFamily: 'Poppins',
                        fontSize: SizeConfig.safeBlockHorizontal * 7.2,
                        fontWeight: FontWeight.w600,
                        letterSpacing: 0.4
                    ),
                  )
                  // Text(
                  //   'Healthy Food',
                  //   style: TextStyle(
                  //       fontFamily: 'Poppins',
                  //       fontSize: SizeConfig.safeBlockHorizontal * 7.2,
                  //       fontWeight: FontWeight.w600,
                  //       letterSpacing: 0.4
                  //   ),
                  // ),

                ],
              ),
              Container(
                decoration: BoxDecoration(
                    color: Colors.grey[200],
                    borderRadius: BorderRadius.circular(SizeConfig.safeBlockVertical)
                ),
                padding: EdgeInsets.all(SizeConfig.safeBlockHorizontal * 2),
                child: Icon(Icons.search,size: SizeConfig.safeBlockHorizontal * 5.4,color: Colors.grey[700],),
              ),
            ],
          ),
        ),
      ],
    ),


    Padding(
      padding: EdgeInsets.only(top: SizeConfig.safeBlockVertical * 26),
      child: SingleChildScrollView(
        physics: BouncingScrollPhysics(),
        child: Padding(
          padding: EdgeInsets.only(
              left: SizeConfig.safeBlockHorizontal * 7),
          child: Column(
            crossAxisAlignment: CrossAxisAlignment.start,
            children: <Widget>[


              //Special
              Padding(
                padding: EdgeInsets.only(right: SizeConfig.safeBlockHorizontal * 7),
                child: Text(
                  'Today\'s Special',
                  style: TextStyle(
                      fontFamily: 'Poppins',
                      fontSize: SizeConfig.safeBlockHorizontal * 3.3,
                      fontWeight: FontWeight.w500,
                      letterSpacing: 0.2
                  ),
                ),
              ),
              SizedBox(height: SizeConfig.safeBlockVertical,),
              GestureDetector(
                onTap: (){
                  Navigator.push(context, ScaleRoute(page: MoreFoodXD(0)));
                },
                  child: SpecialMenuXD()),


              //Breakfast
              SizedBox(height: SizeConfig.safeBlockVertical * 4,),
              Padding(
                padding: EdgeInsets.only(right: SizeConfig.safeBlockHorizontal * 4.4),
                child: Row(
                  mainAxisAlignment: MainAxisAlignment.spaceBetween,
                  children: <Widget>[
                    Text(
                      'Today\'s Breakfast',
                      style: TextStyle(
                          fontFamily: 'Poppins',
                          fontSize: SizeConfig.safeBlockHorizontal * 3.3,
                          fontWeight: FontWeight.w500,
                          letterSpacing: 0.2
                      ),
                    ),
                    GestureDetector(
                      onTap: (){
                        Navigator.push(context, ScaleRoute(page: MoreFoodXD(0)));
                      },
                      child: Text(
                        'SHOW MORE',
                        style: TextStyle(
                            fontFamily: 'Poppins',
                            fontSize: SizeConfig.safeBlockHorizontal * 3,
                            fontWeight: FontWeight.w500,
                            letterSpacing: 0.2,
                            color: Colors.orange[600]
                        ),
                      ),
                    ),
                  ],
                ),
              ),

              SizedBox(height: SizeConfig.safeBlockVertical ,),
              GestureDetector(
                  onTap: (){
                    Navigator.push(context, ScaleRoute(page: MoreFoodXD(0)));
                  },
                  child: BreakfastMenuXD()),



              //Lunch
              SizedBox(height: SizeConfig.safeBlockVertical * 4,),
              Padding(
                padding: EdgeInsets.only(right: SizeConfig.safeBlockHorizontal * 4.4),
                child: Row(
                  mainAxisAlignment: MainAxisAlignment.spaceBetween,
                  children: <Widget>[
                    Text(
                      'Today\'s Lunch',
                      style: TextStyle(
                          fontFamily: 'Poppins',
                          fontSize: SizeConfig.safeBlockHorizontal * 3.3,
                          fontWeight: FontWeight.w500,
                          letterSpacing: 0.2
                      ),
                    ),
                    GestureDetector(
                      onTap: (){
                        Navigator.push(context, ScaleRoute(page: MoreFoodXD(1)));
                      },
                      child: Text(
                        'SHOW MORE',
                        style: TextStyle(
                            fontFamily: 'Poppins',
                            fontSize: SizeConfig.safeBlockHorizontal * 3,
                            fontWeight: FontWeight.w500,
                            letterSpacing: 0.2,
                            color: Colors.orange[600]
                        ),
                      ),
                    ),
                  ],
                ),
              ),

              SizedBox(height: SizeConfig.safeBlockVertical,),
              GestureDetector(
                  onTap: (){
                    Navigator.push(context, ScaleRoute(page: MoreFoodXD(1)));
                  },
                  child: LunchMenuXD()),


              //Dinner
              SizedBox(height: SizeConfig.safeBlockVertical ,),
              Padding(
                padding: EdgeInsets.only(right: SizeConfig.safeBlockHorizontal * 4.4),
                child: Row(
                  mainAxisAlignment: MainAxisAlignment.spaceBetween,
                  children: <Widget>[
                    Text(
                      'Today\'s Dinner',
                      style: TextStyle(
                          fontFamily: 'Poppins',
                          fontSize: SizeConfig.safeBlockHorizontal * 3.3,
                          fontWeight: FontWeight.w500,
                          letterSpacing: 0.2
                      ),
                    ),
                    GestureDetector(
                      onTap: (){
                        Navigator.push(context, ScaleRoute(page: MoreFoodXD(2)));
                      },
                      child: Text(
                        'SHOW MORE',
                        style: TextStyle(
                            fontFamily: 'Poppins',
                            fontSize: SizeConfig.safeBlockHorizontal * 3,
                            fontWeight: FontWeight.w500,
                            letterSpacing: 0.2,
                            color: Colors.orange[600]
                        ),
                      ),
                    ),
                  ],
                ),
              ),
              SizedBox(height: SizeConfig.safeBlockVertical,),
              GestureDetector(
                  onTap: (){
                    Navigator.push(context, ScaleRoute(page: MoreFoodXD(2)));
                  },
                  child: DinnerMenuXD()),
              SizedBox(height: SizeConfig.safeBlockVertical * 4,),

            ],
          ),
        ),
      ),
    ),

    // Align(
    //   alignment: Alignment.bottomCenter,
    //   child: BottomBarXD(),
    // ),
  ],
);
  }
  }

Size Config Class:

class SizeConfig {
  static MediaQueryData _mediaQueryData;
  static double screenWidth;
  static double screenHeight;
  static double blockSizeHorizontal;
  static double blockSizeVertical;

  static double _safeAreaHorizontal;
  static double _safeAreaVertical;
  static double safeBlockHorizontal;
  static double safeBlockVertical;

  void init(BuildContext context) {
    _mediaQueryData = MediaQuery.of(context);
    screenWidth = _mediaQueryData.size.width;
    screenHeight = _mediaQueryData.size.height;
    blockSizeHorizontal = screenWidth / 100;
    blockSizeVertical = screenHeight / 100;

_safeAreaHorizontal = _mediaQueryData.padding.left +
    _mediaQueryData.padding.right;
_safeAreaVertical = _mediaQueryData.padding.top +
    _mediaQueryData.padding.bottom;
safeBlockHorizontal = (screenWidth -
    _safeAreaHorizontal) / 100;
safeBlockVertical = (screenHeight -
    _safeAreaVertical) / 100;
     }
     }

0 个答案:

没有答案