Родитель ширины кнопки соответствует: флаттер - PullRequest
0 голосов
/ 25 апреля 2018

Я новичок в Флаттер , поэтому я хочу знать, как я могу установить ширину соответствовать родителю ширина макета

 new Container(
              width: 200.0,
              padding: const EdgeInsets.only(top: 16.0),
              child: new RaisedButton(
                child: new Text(
                    "Submit",
                    style: new TextStyle(
                      color: Colors.white,
                    )
                ),
                colorBrightness: Brightness.dark,
                onPressed: () {
                  _loginAttempt(context);
                },
                color: Colors.blue,
              ),
            ),

Я знаю немногобит на расширенном теге , но расширенное расширенное представление в обоих направлениях, я не знаю, как это сделать.Помогите мне, если знаете, заранее спасибо.

Ответы [ 14 ]

0 голосов
/ 14 июня 2019

лоток double.infinity для коробки ширины размера

new SizedBox(
  width: double.infinity,
  child: RaisedButton(...),
)
0 голосов
/ 08 апреля 2019

Это работает для меня.

    SizedBox(
             width: double.maxFinite,
             child: RaisedButton(
                 materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
                 child: new Text("Button 2"),
                 color: Colors.lightBlueAccent,
                 onPressed: () => debugPrint("Button 2"),
              ),
     ), 
0 голосов
/ 03 июня 2019

Для match_parent вы можете использовать

SizedBox(
  width: double.infinity, // match_parent
  child: RaisedButton(...)
)

Для любого конкретного значения вы можете использовать

SizedBox(
  width: 100, // specific value
  child: RaisedButton(...)
)
0 голосов
/ 16 февраля 2019

Самый простой способ - использовать FlatButton, обернутый внутри контейнера. Кнопка по умолчанию принимает размер своего родителя и назначает контейнеру желаемую ширину.

            Container(
                  color: Colors.transparent,
                  width: MediaQuery.of(context).size.width,
                  height: 60,
                  child: FlatButton(
                    shape: new RoundedRectangleBorder(
                      borderRadius: new BorderRadius.circular(30.0),
                    ),
                    onPressed: () {},
                    color: Colors.red[300],
                    child: Text(
                      "Button",
                      style: TextStyle(
                        color: Colors.black,
                        fontFamily: 'Raleway',
                        fontSize: 22.0,
                      ),
                    ),
                  ),
                )

вышеуказанный виджет производит следующий вывод

enter image description here

0 голосов
/ 28 марта 2019

Это для меня сработало .

Самый простой способ указать ширину или высоту родительского соответствия в приведенном выше коде.

...
width: double.infinity,
height: double.infinity,
...
0 голосов
/ 18 сентября 2018

@ Мохит Сутар,

Нашел одно из лучших решений для соответствия родительских до ширины , а также высоты , как показано ниже

new Expanded(
          child: new Container(
              padding: EdgeInsets.all(16.0),
              margin: EdgeInsets.all(16.0),
              decoration: new BoxDecoration(
                  color: Colors.white,
                  borderRadius:
                      const BorderRadius.all(const Radius.circular(8.0)),
                  border: new Border.all(color: Colors.black, width: 1.0)),
              child: new Text("TejaDroid")),
        ), 

Здесь вы можете проверить, что Expanded контроллер получает целые остаются ширина и высота .

0 голосов
/ 30 октября 2018

Это работает для меня в автономном виджете.

  Widget signinButton() {
    return ButtonTheme(
      minWidth: double.infinity,
      child: new FlatButton(
        onPressed: () {},
        color: Colors.green[400],
        textColor: Colors.white,
        child: Text('Flat Button'),
      ),
    );
  }

// It can then be used in a class that contains a widget tree.
0 голосов
/ 17 июля 2018

Атрибут размера может быть предоставлен с помощью ButtonTheme с minWidth: double.infinity

ButtonTheme(
  minWidth: double.infinity,
  child: MaterialButton(
    onPressed: () {},
    child: Text('Raised Button'),
  ),
),

или после https://github.com/flutter/flutter/pull/19416 приземлился

MaterialButton(
  onPressed: () {},
  child: SizedBox.expand(
    width: double.infinity, 
    child: Text('Raised Button'),
  ),
),
0 голосов
/ 17 августа 2018

Следующий код работает для меня

       ButtonTheme(
            minWidth: double.infinity,
            child: RaisedButton(child: Text("Click!!", style: TextStyle(color: Colors.white),), color: Colors.pink, onPressed: () {}))
0 голосов
/ 11 июля 2018
 new SizedBox(
  width: 100.0,
     child: new RaisedButton(...),
)
...