Flutter: VerticalDivider не отображается - PullRequest
0 голосов
/ 09 мая 2020

У меня есть это дерево виджетов:

Scaffold
  AppBar
  Column
    Center
    SingleChildScrollView
    FutureBuilder
       Container
       Flex
          direction: Axis.vertical,
          children: <Widget>[
              Row(
                          mainAxisAlignment: MainAxisAlignment.spaceEvenly,
                          children: <Widget>[
                            FlatButton(
                              color: Colors.red,
                              onPressed: () => {},
                              padding: EdgeInsets.all(10.0),
                              child: Row(
                                children: <Widget>[
                                  Icon(
                                    Icons.star,
                                    color: Colors.red,
                                  ),
                                  Text(
                                    "4.5",
                                    style: TextStyle(
                                        color: Colors.blue,
                                        fontWeight: FontWeight.bold),
                                  )
                                ],
                              ),
                            ),
                            VerticalDivider(
                              width: 1,
                              color: Colors.black,
                              thickness: 1,
                              indent: 2,
                              endIndent: 2,
                            ),
                            FlatButton() //like above
                            VerticalDivider()//like above
                            FlatButton()//like above

Коды делают это изображение: enter image description here

Мне было интересно, почему VerticalDivider является не показаны ?

Я использую flutter_linux_1.17.0-stable flutter sdk

1 Ответ

1 голос
/ 09 мая 2020

Я думаю, что это происходит, когда родительский виджет не имеет спецификации c height.

Более того, если вы посмотрите реализацию VerticalDivider, они не указали размер sizebox или контейнера, поэтому он не 'не имеет никакой высоты, любой виджет IntrinsicHeight, мы можем указать, что дочерний виджет должен быть высотой родительского.

Оберните свой виджет строки с помощью IntrinsicHeight .

Flex
          direction: Axis.vertical,
          children: <Widget>[
        IntrinsicHeight( // added widget
              Row(
                          mainAxisAlignment: MainAxisAlignment.spaceEvenly,
                          children: <Widget>[
...