在 ListTile 中更改 CircleAvatar 大小

Posted

技术标签:

【中文标题】在 ListTile 中更改 CircleAvatar 大小【英文标题】:Change CircleAvatar size in ListTile 【发布时间】:2020-10-25 02:02:15 【问题描述】:

我想增加 CircleAvatar 的大小作为 Listtile 的前导。但是如果我增加半径,圆就不会保持它的比例,而是变成一个椭圆。

这是我的代码:

ListView.builder(
itemCount: friendlist.length,
itemBuilder: (BuildContext context, int index) 
print(friendlist[index]);
return ListTile(
        title: Text(friendlist[index]["nickname"],
                style: TextStyle(fontSize: 20)),
        leading: CircleAvatar(
            radius: 50,
            backgroundColor: Colors.transparent,
            backgroundImage: CachedNetworkImageProvider(core.url + "profiles/" + friendlist[index]["avatar_id"]),
          ),
        subtitle:
        Text(friendlist[index]["lost_last"])
    );
));

我尝试了什么:

    将圆形头像嵌套到具有固定宽度和高度的容器中 -> 圆形仍然是椭圆 更改 ListView.builder 的 ItemExtent -> Circle 仍然无法使用所有空白空间并变成椭圆。

谢谢

【问题讨论】:

【参考方案1】:

ListTitle 目前无法做到这一点,因为这是他们为小部件标准添加的应用限制

为了便于访问,可点击的前导和尾随小部件必须位于 尺寸至少为 48x48。但是,为了遵守材料规范,尾随 单行 ListTiles 中的前导小部件在视觉上最多应为 高度为 32(密集:真)或 40(密集:假),可能会发生冲突 具有可访问性要求。

您可以根据需要创建自定义小部件。

【讨论】:

以上是关于在 ListTile 中更改 CircleAvatar 大小的主要内容,如果未能解决你的问题,请参考以下文章

颤动如何从 ListTile 更改所选图块的背景颜色

实现基于时间线的 Dismissable ListTile 小部件

在 StreamBuilder 中渲染 ListView.ListTile

如何用颤振在listTile中制作控件

新手:如何在 Flutter 中添加多个 Listtile

在 ListTile 中打开一个新视图 - Flutter