Как разместить строку внизу экрана во флаттере

У меня есть 3 столбца, я хочу сделать экран без прокрутки, используя эти столбцы, первые 2 столбца имеют только одно изображение, последний столбец имеет строку, в которой есть четыре значка, я хочу поместить последний столбец, в котором есть значки строк в нижней части экрана. для каждого размера экрана я хочу, чтобы теперь он выглядел так же

     body: Center(
            child: Container(
              decoration: BoxDecoration(
                  gradient: LinearGradient(
                      begin: Alignment.topRight,
                      end: Alignment.bottomLeft,
                      colors: [barColor, Colors.white])),

              child: ListView(
                physics: const NeverScrollableScrollPhysics(),
                children: <Widget>[
                  Column(
                    crossAxisAlignment: CrossAxisAlignment.center,
                    mainAxisSize: MainAxisSize.max,
                    mainAxisAlignment: MainAxisAlignment.start,

                    children: <Widget>[
                      Image.asset(
                        'assets/images/istv.png',
                        fit: BoxFit.cover,
                      ),
                    ],
                  ),
                  InkWell(
                    child:  Column(
                      crossAxisAlignment: CrossAxisAlignment.center,
                      mainAxisSize: MainAxisSize.max,
                      mainAxisAlignment: MainAxisAlignment.center,
                     children: <Widget>[
                       Image.asset(
                         'assets/images/live.png',
                         fit: BoxFit.cover,

                       ),
                     ],
                    ),
                    onTap: (){
                      _launchInApp(_launchUrl);
                    },
                  ),
                  Column(
                    children: <Widget>[
                      Align(
                        alignment: Alignment.bottomCenter,
                        child:  Row(
                          crossAxisAlignment: CrossAxisAlignment.end,
                          children: <Widget>[
                            Expanded(
                              child: InkWell(
                                child :Container(
                                  child: Image.asset(''
                                      'assets/images/fb.png',
                                    height: 200,
                                    fit: BoxFit.cover,
                                  ) ,
                                ),
                                onTap: (){
                                  openfb();
                                },
                              ),
                            ),

                            Expanded(
                              child: InkWell(
                                child :Container(
                                  child: Image.asset(''
                                      'assets/images/insta.png',
                                    height: 200,
                                    fit: BoxFit.cover,
                                  ) ,
                                ),
                                onTap: (){
                                  openinsta();
                                },
                              ),
                            ),
                            Expanded(
                              child: InkWell(
                                child :Container(
                                  child: Image.asset(''
                                      'assets/images/yt.png',
                                    height: 200,
                                    fit: BoxFit.cover,
                                  ) ,
                                ),
                                onTap: (){
                                  openyt();
                                },
                              ),
                            ),

                            Expanded(
                              child: InkWell(
                                  child :Container(

                                    child: Image.asset(''
                                        'assets/images/share.png',

                                      height: 200,

                                      fit: BoxFit.cover,
                                    ) ,
                                  ),
                                  onTap: () {Share.share('check out my website https://example.com');}
                              ),
                            )
                          ],
                        ),
                      ),
                    ],
                  ),
                ],
              ),
            )
        )

2 ответа

Если я понял ваш вопрос, который был непростым, я считаю, что вы хотите сделать следующее:

class UI62962286 extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Column(
      children: <Widget>[
        Expanded(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.spaceEvenly,
            children: <Widget>[
              Container(
                child: Icon(Icons.accessibility),
                height: 10,
              ),
              Container(
                child: Icon(Icons.account_balance),
                height: 10,
              ),
            ],
          )
        ),
        Container(
          padding: EdgeInsets.all(8.0),
          child: Row(
            mainAxisAlignment: MainAxisAlignment.spaceAround,
            children: <Widget>[
              Icon(Icons.account_balance_wallet),
              Icon(Icons.adb),
              Icon(Icons.account_box),
              Icon(Icons.ac_unit),
            ],
          ),
        ),
      ],
    );
  }
}

Выглядит это так: ht tps:https://stackru.com/images/d25f5f6f67c2b587dab0de451c16b3a840f2200e.png

Попробуйте это в виджете:


 body: Center(
        child: Column(
          children: <Widget>[
            Text(
              'Start Row',
            ),
            Expanded(child:
              Center(child:Text('Middle Row')),
            ),
            Text('End Row'),
          ],
        ),
      ),

Где вы видите текст, в который хотите вставить строку. Expand занимает все пространство посередине независимо от размера экрана. Вы можете каскадировать эту дизайнерскую идею.

Другие вопросы по тегам