tl;dr需要容器填满垂直空间,这样它才能充当ONTAP监听器.我试过大多数解决方案,但似乎都不管用.

所以我想做的是让我的容器填满垂直空间,同时保持固定的宽度.Two first is what I have and third is what I want.我们的 idea 是让容器通过手势ontap侦听器透明.如果有人对不同的解决方案有更好的 idea ,请随时提出建议.

Widget build(BuildContext context) {
return new GestureDetector(
  onHorizontalDragUpdate: _move,
  onHorizontalDragEnd: _handleDragEnd,
  child: new Stack(
    children: <Widget>[
      new Positioned.fill(           
        child: new Row(
          mainAxisAlignment: MainAxisAlignment.end,
          children: <Widget>[
            new Container(
              child: new IconButton(                          
                padding: new EdgeInsets.only(top: 16.0, bottom: 16.0, left: 24.0, right: 24.0),
                icon: new Icon(Icons.warning),
                color: Colors.black12,
                onPressed: () {},
              )
            ),
          ],
        ),
      ),
      new SlideTransition(
        position: new Tween<Offset>(
          begin:  Offset(0.0, 0.0),
          end: const Offset(-0.6, 0.0),
        ).animate(_animation),
        child: new Card(
          child: new Row(
            children: <Widget>[
              new Container(
                width: 20.0,
                height: 20.0,
                color: Colors.amber,
              ),
              new Expanded(
                child: new Column(
                  mainAxisSize: MainAxisSize.min,
                  children: <Widget>[

                    _getListTile(),
                    _ifStoplineIsToBeShown()
                  ],
                ),
              )
            ],
          )
        ),
      ),
    ],
  )
);

}

考虑到我已经try 了很多不同的方法,但似乎都没有奏效,我很确定我错过了一些东西.

我还上传了一张带有here的图片.

PS.我知道我已将高度设置为固定值,但这是显示容器的唯一方式.

推荐答案

诀窍是将IntrinsicHeight小部件和RowcrossAxisAlignment: CrossAxisAlignment.stretch结合起来

这将强制Row的子项垂直扩展,但Row将占用尽可能少的垂直空间.

Card(
  child: IntrinsicHeight(
    child: Row(
      crossAxisAlignment: CrossAxisAlignment.stretch,
      children: <Widget>[
        Container(
          width: 20.0,
          color: Colors.amber,
        ),
        // Expanded(...)
      ],
    ),
  )
)

Flutter相关问答推荐

在Flutter中,有没有一种方法可以点击页面到后面的页面?

在Flutter 中压缩图片返回空

DART 3.3:为什么扩展类型不起作用?

Android NFC未收到空的NFC标签

Flutter -如何停止块监听程序在后台堆栈中运行

为什么我的PUT请求不能正常工作?

如何在Flutter Webview包中触发基于URL导航的事件

为什么我的Flutter 动画过渡没有发生?

如何从Firebase登录获取用户信息,如电话号码、出生日期和性别

Firebase Auth - 有没有办法为新用户预先生成 UID?

我想在文本结束后显示分隔线.它会在第一行、第二行或第三行结束

减少 Flutter 中 API 的连接等待时间

graphql_flutter 错误:非抽象类GraphQLWebSocketChannel缺少实现

在不丢失游戏状态的情况下从 Flame 游戏导航到 Flutter 小部件

String类型不是Widget类型的子类型?在dart 中

如何从 showModalBottomSheet 中的 topRight 和 topLeft 移除平边

try 为两个下拉值添加共享首选项,但在 Flutter 上显示错误断言失败:?

将容器扩展到安全区域 - Flutter

从 Uint8List 或图像对象创建 InputImageData 用于 Google ML Kit 人脸检测

如何从圆角go 除背景 colored颜色