flutter - 带按钮的 ListTile

标签 flutter dart

我在领先的属性中有 ListTile 和按钮。一切正常,但是如果按下按钮,那么也会激活 tile onTap 手势。 Tile onTap 不仅触发动画。
enter image description here
这是代码

ListTile(
   contentPadding: EdgeInsets.zero,
   leading: IconButton(
       icon: Icon(Icons.check_circle),
     onPressed: () => print('select'),
   ),
   title: Text('TEST'),
   trailing: Icon(
      Icons.arrow_forward_ios,
  ),
  onTap: () => print('on tap'),
)
关于如何从领先区域摆脱瓷砖 onTap 效果的任何想法。我想到的唯一方法是使用包裹在手势检测器中的瓷砖行并摆脱 onTap 但我希望有更好的解决方案(如果有的话)

最佳答案

如果您想将前导按钮和标题区域的效果分开,另一种选择是简单地将平面按钮放在平铺区域内并删除 onTap。它与您在手势检测器中提到的解决方案几乎相同,但至少您不必在该手势检测器上使用效果。我认为没有其他选择。
enter image description here

               ListTile(
                contentPadding: EdgeInsets.zero,
                leading: IconButton(
                  icon: Icon(Icons.check_circle),
                  onPressed: () => print('select'),
                ),
                title: FlatButton(
                  padding: EdgeInsets.zero,
                  onPressed: () => print('on tap'),
                  child: Row(
                    mainAxisAlignment: MainAxisAlignment.spaceBetween,
                    children: <Widget>[
                      Text('TEST'),
                      Icon(Icons.arrow_forward_ios)
                    ],
                  ),
                ),
              )

关于flutter - 带按钮的 ListTile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62747015/

相关文章:

firebase - 如何从Firebase存储映射中删除特定项目?

dart - Flutter 动态主题

flutter - 无法将类型 'MqttMessage' 的值分配给类型 'MqttPublishMessage' 的变量

dart - 如何在 flutter 中实现字母滚动

flutter - 在 flutter 中拖动旋转的容器

list - Dart 的 List 的 "some"方法叫什么?检查是否至少有一个元素通过测试的方法

javascript - 使用 JavaScript 或 Dart 确定浏览器的默认文本突出显示颜色

http - Flutter - 从 url_launcher 获取 HTTP 响应

android - 无法解析 com.android.tools.build :gradle:3. 2.1。 flutter

button - 为新的行 flutter 创建按钮