1

我想将 ListTile 中的所有内容(标题、副标题、前导、尾随等)垂直对齐到中心。最好的方法是什么?

const Padding(
    padding: EdgeInsets.fromLTRB(0, 20, 0, 20),
    child: Card(
      child: ListTile(
        leading: FlutterLogo(size: 55),
        title: Text('Overview'),
        subtitle: Text(
          '250.956.261',
        ),
        trailing: Icon(
          Icons.arrow_right_outlined,
          size: 30,
        ),
        isThreeLine: true,
      ),
    ),
),
4

2 回答 2

0

您可以使用下面的替代代码来获得您想要的

         Padding(
          padding: const EdgeInsets.fromLTRB(0, 20, 0, 20),
          child: Card(
            child: Padding(
              padding: const EdgeInsets.all(20),
              child: Row(
                mainAxisAlignment: MainAxisAlignment.spaceBetween,
                children: [
                  Row(
                    children: [
                      const FlutterLogo(size: 55),
                      Column(
                        crossAxisAlignment: CrossAxisAlignment.start,
                        children: const [
                          Text('Overview'),
                          Text(
                            '250.956.261',
                          ),
                        ],
                      ),
                    ],
                  ),
               const Icon(
                    Icons.arrow_right_outlined,
                    size: 30,
                  ),
                ],
              ),
            ),
          ),
        );
于 2021-11-08T23:58:21.093 回答
0

我最初误解你的问题是关于水平居中的内容ListTile。要在卡片内垂直居中项目,您可能只需要禁用该isThreeLine参数。禁用它会导致内容垂直居中。

构建方法的代码:

  @override
  Widget build(BuildContext context) {
    return const Center(
      child: Card(
        child: ListTile(
          leading: FlutterLogo(size: 55),
          title: Text('Overview'),
          subtitle: Text(
            '250.956.261',
          ),
          trailing: Icon(
            Icons.arrow_right_outlined,
            size: 30,
          ),
          // isThreeLine: true,
        ),
      ),
    );
  }

在此处输入图像描述

于 2021-11-09T00:01:10.177 回答