android - Flutter展开竖线

标签 android flutter flutter-layout

我有一个 ListView,我需要在它的左侧有一条展开的垂直线(请参见下图)。我实现了以下布局,但它扩展到无限。

Line expanding to infinite

下面是上述布局的代码:

return Scaffold(
  ...
  body: Column(
    children: <Widget>[
      Row(
        crossAxisAlignment: CrossAxisAlignment.start,
        children: <Widget>[
          Container(
            margin: EdgeInsets.only(left: 4.0),
            color: Colors.grey,
            width: 4.0,
            child: SizedBox.expand(),
          ),
          Flexible(
            child: StreamBuilder( // Creates the list view
              stream: ...,
              builder: ...,
            ),
          ),
        ],
      ),
    ],
  ),
};

由于 SizedBox.expand() 而使行变得无限,但如何适应屏幕。有什么建议吗?

或者有没有办法从 ListView 项(没有固定大小)获得同样的效果。

最佳答案

如果您只有一个 child ,请不要使用 Column 作为 Parent,这对我有用:

  return Container(
        child: Row(
          children: <Widget>[
            Container(
              margin: EdgeInsets.only(left: 4.0),
              color: Colors.grey,
              width: 4.0,
            ),
            Expanded(
              child: ListView.builder(
                // Creates the list view
                shrinkWrap: true,
                itemCount: list.length,
                itemBuilder: (context, index) {
                  return ListTile(
                    contentPadding: EdgeInsets.all(20.0),
                    title: Text(list[index].toString()),
                  );
                },
              ),
            ),
          ],
        ),
      );

关于android - Flutter展开竖线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51876613/

相关文章:

android - http 连接错误 javax.net.ssl.SSLPeerUnverifiedException : No peer certificate

android - 如何为自定义对话框设置按钮点击监听器?

android - 我点击了我的清除按钮,但它不起作用

flutter - 从外部Dart文件 flutter 装饰输入字段

flutter - 弹出没有数据/推送到当前屏幕

Flutter,如何使列中的宽度适合第一个子项

android - 在贝塞尔曲线路径上移动对象

Flutter:是否可以在高度> 1.0 的文本行中设置垂直对齐方式?

flutter - 在Flutter Widget测试中,如何将media.orientation设置为纵向?

flutter - Flutter 中 TextField 小部件的 prefixIcon 在聚焦 TextField 时消失。怎么解决?