在 Flutter 中将图像添加到 ListTile

Posted

技术标签:

【中文标题】在 Flutter 中将图像添加到 ListTile【英文标题】:Adding an image to ListTile in Flutter 【发布时间】:2021-02-22 02:33:26 【问题描述】:

所以我在 Flutter 中有这个 ListView,里面有 ListTile:

return ListView.separated(
          itemBuilder: (BuildContext context, int index) 
            print("nameList: $nameList");

            Name name = nameList[index];
           
            return Container(
              color: Colors.white60,
              
              child: ListTile(
                 
                  title: Text(name.name, style: TextStyle(fontSize: 30)),
                  subtitle: Text(
                    "Calories: $name.age\nProfession: $name.profession",
                   
                    style: TextStyle(fontSize: 20),

我想做的是在一个小方块(在容器内?)中添加一个图像(上面有一个占位符图标)到具有 onTapped 的 ListTile(它将从 Image Picker 调用 getImage)。此外,如果可以在其旁边添加一小行大文本(图像示例中的“大”),那就太好了。与往常一样,简单的解决方案对我来说总是最难的。最有效的方法是什么?

【问题讨论】:

你试过trailing属性吗? 【参考方案1】:

您可以通过 ListTile 中的尾随属性添加图标, 如果你想你需要像我建议不要使用 ListTile 的图像那样设置样式,你应该使用 Row 和 Column 进行设计

Container(
          child: ListTile(
            title: Text("Title"),
            subtitle:Text("Categories"),
            trailing: GestureDetector(onTap: ()
              ///do something heres
            
            ,child: Container(height:30,width:50,color:Colors.amber,child: Icon(Icons.add))),
          ),
        ),

【讨论】:

是的,这可能是要走的路,它确实需要 ListTile,因为我有很多项目,这可能是最好的方法。非常感谢!【参考方案2】:

如果您在尾部添加任何具有 ontap 功能的小部件,您可以这样做。

         ListTile(
            trailing: InkWell(
            onTap: (),
            child: Container(
            child: Image(),
          ),
        )
         )

【讨论】:

以上是关于在 Flutter 中将图像添加到 ListTile的主要内容,如果未能解决你的问题,请参考以下文章

如何在flutter中将图像数据保存到sqflite数据库以进行持久化

在 Flutter 中将数据保存到 Firebase 实时数据库

在 Flutter 中将视频文件保存到设备

如何在 Flutter 中将图像转换为文件?

如何从flutter中从异步任务中检索到的数据中将图像加载到卡片中?

如何在 Flutter 中将 Header 添加到 GridView?