как исправить положение дочернего виджета в строке? трепетать - PullRequest
0 голосов
/ 06 августа 2020

Я пытаюсь сделать карточку комментариев. Есть одна проблема. Мой аватар и кнопка не фиксируются при увеличении высоты комментария

введите описание изображения здесь

Я хочу, чтобы изображение аватара и положение кнопки были фиксированы.

Как я могу это сделать?

import 'package:flutter/material.dart';
import '../../size_config.dart';

class CommentItem extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Padding(
      padding: EdgeInsets.symmetric(horizontal: 10, vertical: 10),
      child: Row(
        children: <Widget>[
          CircleAvatar(
            radius: 25,
            child: ClipOval(
              child: SizedBox(
                height: 1000,
                width: 1000,
                child: Image.asset(
                  'assets/images/img2.jpg',
                  fit: BoxFit.cover,
                ),
              ),
            ),
          ),
          Expanded(
            child: Padding(
              padding: EdgeInsets.symmetric(horizontal: 10),
              child: Column(
                crossAxisAlignment: CrossAxisAlignment.start,
                children: <Widget>[
                  Text('123',
                      style:
                          TextStyle(fontWeight: FontWeight.bold, fontSize: 17)),
                  SizedBox(height: 3),
                  Text(
                    '. If you want to keep these changes, it is re',
                    style: TextStyle(color: Colors.grey),
                    maxLines: 4,
                  ),
                ],
              ),
            ),
          ),
          ClipOval(
            child: Material(
              color: Colors.blue, // button color
              child: InkWell(
                splashColor: Colors.red, // inkwell color
                child: SizedBox(
                    width: SizeConfig.widthMultiplier * 8.8,
                    height: SizeConfig.heightMultiplier * 5,
                    child: Icon(
                      Icons.person_add,
                      size: SizeConfig.imageSizeMultiplier * 5.5,
                      color: Colors.white,
                    )),
                onTap: () {},
              ),
            ),
          )
        ],
      ),
    );
  }
}

похоже, что ваш пост - это в основном код; пожалуйста, добавьте более подробную информацию, похоже, что ваш пост - это в основном код; пожалуйста, добавьте более подробную информацию, похоже, что ваш пост - это в основном код; добавьте подробности

Ответы [ 4 ]

0 голосов
/ 06 августа 2020

Для этого вы можете использовать свойство выравнивания строки. В строке есть два свойства выравнивания:

  1. MainAxisAlignment
  2. CrossAxisAlignment

MainAxisAlignment используется для горизонтального выравнивания виджетов, а CrossAxisAlignment используется для вертикального выравнивания.

В вашем случае вам необходимо установить:

Row(
 crossAxisAlignment: CrossAxisAlignment.start,
0 голосов
/ 06 августа 2020

Для этого вы можете использовать свойство crossAxisAlignment строки, оно расположит виджет внутри строки соответственно

  1. Для центра - crossAxisAlignment: CrossAxisAlignment.center

  2. Для Верхнего - crossAxisAlignment: CrossAxisAlignment.start,

  3. Для Нижнего - crossAxisAlignment: CrossAxisAlignment.end,

0 голосов
/ 06 августа 2020

Вы можете сделать это с помощью ...

crossAxisAlignment: CrossAxisAlignment.start
0 голосов
/ 06 августа 2020

Вы пробовали использовать crossAxisAlignment?

    Row(
      crossAxisAlignment: CrossAxisAlignment.start,
...