Как установить цвет фона на ширину, содержащую текст в флаттере - PullRequest
2 голосов
/ 29 июня 2019

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


        Padding(
          padding: EdgeInsets.all(15.0),
          child: Text(
            'Your Profile',
            style: TextStyle(
              color: Colors.blue,
              fontSize: 26.0,                
              background: Paint()..color = Colors.blue,

            ),


Это то, что я пробовал, но, похоже, не работает.

Ожидается: здесь текст "Твой профиль" имеет цвет фона, мне нужно добиться этого.

enter image description here

Ответы [ 2 ]

1 голос
/ 29 июня 2019

Краткий ответ :

Text(
  "Hello World",
  style: TextStyle(backgroundColor: Colors.blue), // give any color here
)

Полный ответ

enter image description here

Вы можете использовать это в своем showDialog вызове, вот полный виджет, который вы искали.

Dialog(
  elevation: 12,
  child: Column(
    mainAxisAlignment: MainAxisAlignment.center,
    mainAxisSize: MainAxisSize.min,
    children: <Widget>[
      Container(
        color: Colors.blue[800],
        width: double.maxFinite,
        alignment: Alignment.center,
        padding: EdgeInsets.symmetric(vertical: 16),
        child: Text(
          "Your Profile...",
          style: TextStyle(fontSize: 20, color: Colors.white),
        ),
      ),
      Padding(
        padding: EdgeInsets.symmetric(horizontal: 32),
        child: Column(
          children: <Widget>[
            SizedBox(height: 12),
            TextField(decoration: InputDecoration(hintText: "Select a Photo")),
            TextField(decoration: InputDecoration(hintText: "Take a Photo...")),
            TextField(decoration: InputDecoration(hintText: "Choose form Library")),
          ],
        ),
      ),
      Container(
        padding: EdgeInsets.symmetric(vertical: 12),
        child: RaisedButton(
          shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(50)),
          child: Text("Back"),
          onPressed: () {},
          color: Colors.red,
          textColor: Colors.white,
        ),
      )
    ],
  ),
1 голос
/ 29 июня 2019

Вы можете обернуть его с Container(), но, скорее всего, вы должны определить ширину что-то вроде double.maxFinite

Проверьте это

Container(
width: double.maxFinite,
color: Colors.red, //define the background color
child: Text("My Text"),
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...