Переполнение 1,0 пикселя на кнопке Raised - Flutter - PullRequest
0 голосов
/ 03 мая 2020

Я пытаюсь персонализировать то, что находится внутри RaisedButton для моего проекта домашней автоматизации, добавляя различные типы текста и значков к кнопке. но я получаю переполнение на 1 пиксель по какой-то причине.

ClipRRect(
              borderRadius: BorderRadius.circular(10),
              child: SizedBox(
                width: 90.0,
                height: 90.0,
                child: RaisedButton(
                  onPressed: () {},
                  child: Row(
                    mainAxisAlignment: MainAxisAlignment.start,
                    children: <Widget>[
                      Icon(Icons.stay_primary_portrait),
                      Column(
                        mainAxisAlignment: MainAxisAlignment.start,
                        children: <Widget>[
                          Padding(
                            padding: EdgeInsets.only(left: 0),
                            child: Text('Lock'),
                          ),
                          Padding(
                            padding: EdgeInsets.only(left: 0),
                            child: Text('100%'),
                          ),
                        ],
                      ),
                    ],
                  ),
                ),
              ),
            ),

Приложение: enter image description here

Ответы [ 2 ]

2 голосов
/ 03 мая 2020

RaisedButton имеет некоторые отступы по умолчанию. Исправьте это, удалив отступы по умолчанию. Это будет работать отлично, проверьте это.

     ClipRRect(
          borderRadius: BorderRadius.circular(10),
          child: SizedBox(
            width: 90.0,
            height: 90.0,
            child: RaisedButton(
              // remove the default padding the raised button has 
              padding: EdgeInsets.zero,
              onPressed: () {},
              child: Row(
                mainAxisAlignment: MainAxisAlignment.start,
                children: <Widget>[
                  Icon(Icons.stay_primary_portrait),
                  Column(
                    mainAxisAlignment: MainAxisAlignment.start,
                    children: <Widget>[
                      Padding(
                        padding: EdgeInsets.only(left: 0),
                        child: Text('Lock'),
                      ),
                      Padding(
                        padding: EdgeInsets.only(left: 0),
                        child: Text('100%'),
                      ),
                    ],
                  ),
                ],
              ),
            ),
          ),
        ),

Вывод выглядит так Снимок экрана

0 голосов
/ 03 мая 2020

Я не понял, почему вы получаете этот результат, но вы можете использовать InkWell + Container вместо RaisedButton:

ClipRRect(
                    borderRadius: BorderRadius.circular(10),
                    child: SizedBox(
                      width: 90.0,
                      height: 90.0,
                      child: InkWell(
                        onTap: () {},
                        child: Container(
                          color: Colors.grey,
                          child: Row(
                            mainAxisAlignment: MainAxisAlignment.start,
                            children: <Widget>[
                              Icon(Icons.stay_primary_portrait),
                              Column(
                                mainAxisAlignment: MainAxisAlignment.start,
                                children: <Widget>[
                                  Padding(
                                    padding: EdgeInsets.only(left: 0),
                                    child: Text('Lock'),
                                  ),
                                  Padding(
                                    padding: EdgeInsets.only(left: 0),
                                    child: Text('100%'),
                                  ),
                                ],
                              ),
                            ],
                          ),
                        ),
                      ),
                    ),
                  ),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...