Позиционирование виджета внутри строки до конца строки - PullRequest
0 голосов
/ 18 сентября 2018

Я просто застрял здесь.Я перепробовал все, но у меня ничего не получалось.Все, что я хочу, это расположить значок справа от моей строки.

Примечание. Я попытался установить все виджеты внутри строки в виджет Align и обработать положение этого выравнивания.виджет, но ничего не получалось.Код ниже извлекает это:

enter image description here

Эта стрелка должна идти в конец виджета Row.Вот мой код:

Row(
    mainAxisAlignment: MainAxisAlignment.start, //change here don't //worked
    crossAxisAlignment: CrossAxisAlignment.center,
    children: <Widget>[
      Container(
        margin:
            EdgeInsets.only(left: 8.0, top: 8.0, bottom: 8.0, right: 12.0),
        width: 15.0,
        height: 15.0,
        decoration: BoxDecoration(
            color: task.color, borderRadius: BorderRadius.circular(40.0)),
      ),
      Column(
        crossAxisAlignment: CrossAxisAlignment.start,
        children: <Widget>[
          Text(
            task.title,
            style: TextStyle(
                color: Colors.black,
                fontSize: 19.0,
                fontWeight: FontWeight.bold),
          ),
          Text(
            'Duration: ${task.date}',
            style: TextStyle(color: Colors.black, fontSize: 14.0),
          )
        ],
      ),
      Icon(Icons.navigate_next, color: Colors.black) // This Icon
    ],
  ),

Ответы [ 2 ]

0 голосов
/ 18 сентября 2018

Одним из решений является использование виджета Spacer для заполнения пространства

https://docs.flutter.io/flutter/widgets/Spacer-class.html

    Row(
            mainAxisAlignment: MainAxisAlignment.start, //change here don't //worked
            crossAxisAlignment: CrossAxisAlignment.center,
            children: <Widget>[
              Container(
                margin:
                    EdgeInsets.only(left: 8.0, top: 8.0, bottom: 8.0, right: 12.0),
                width: 15.0,
                height: 15.0,
                decoration: BoxDecoration(
                    color: Colors.red, borderRadius: BorderRadius.circular(40.0)),
              ),
              Column(
                crossAxisAlignment: CrossAxisAlignment.start,
                children: <Widget>[
                  Text(
                    "task.title",
                    style: TextStyle(
                        color: Colors.black,
                        fontSize: 19.0,
                        fontWeight: FontWeight.bold),
                  ),
                  Text(
                    'Duration: ${somenum}',
                    style: TextStyle(color: Colors.black, fontSize: 14.0),
                  )
                ],
              ),
              new Spacer(), // I just added one line
              Icon(Icons.navigate_next, color: Colors.black) // This Icon
            ],
          ),

Does this work?

Здесьэто то, что произойдет, если вы добавите его в начало строки.enter image description here

0 голосов
/ 18 сентября 2018

Почему вы не используете виджет «ListTile»?Или обернуть колонку «Расширенными»?Я думаю, что это будет работать.

...