繁体   English   中英

Flutter ReorderableListView - 拖动 拖动时灵活项会增长到屏幕大小

[英]Flutter ReorderableListView - dragged Flexible item grows to screen size when dragged

我有一个使用 ReorderableListView 的应用程序,但我有一个包含它自己的列表视图的项目,当我拖动它时,它的高度会增长到屏幕高度。 过渡完成后,项目将恢复到其原始大小。 未拖动时的外观:在此处输入图像描述

与拖动时的外观(项目增长到屏幕大小):在此处输入图像描述

这是项目小部件:

  Widget build(BuildContext context) {
return Container(
  height: null,
  child: Row(
    mainAxisSize: MainAxisSize.max,
    children: <Widget>[
      Flexible(
        child: Column(
          children: <Widget>[
            SizedBox(
              height: 10,
            ),
            Row(
              children: <Widget>[
                Expanded(
                  child: Container(
                    child: Directionality(
                      textDirection: TextDirection.rtl,
                      child: Theme(
                        data: new ThemeData(
                          primaryColor: Colors.black,
                          primaryColorDark: Colors.black,
                        ),
                        child: TextField(
                          style: TextStyle(
                            height: 1,
                          ),
                          decoration: new InputDecoration(
                            labelText: "רשומה חדשה",
                            fillColor: Colors.white,
                            border: new OutlineInputBorder(
                              borderRadius: new BorderRadius.circular(25.0),
                              borderSide: new BorderSide(
                                  color: Colors.black
                                      ,width: 1
                              ),
                            ),
                            //fillColor: Colors.green
                          ),
                          focusNode: _mainFocusNode,
                          controller: _textController,
                          keyboardType: TextInputType.multiline,
                          maxLines: null,
                        ),
                      ),
                    ),
                  ),
                ),
                Container(
                  width: 40,
                  child: InkWell(
                    child: IconButton(
                      onPressed: () {
                        setState(() {
                          if (_textController.text.length > 0) {
                            _rows.add(_textController.text);
                            listHolderManager.updateValue(0);
                            _textController.text = "";
                            _counter += 1;
                          }
                        });
                      },
                      icon: new Icon(MaterialIcons.add_circle),
                    ),
                  ),
                )
              ],
            ),
            SizedBox(
              height: 10,
            ),
            Container(
                decoration: BoxDecoration(
                    border: Border.all(
                  color: Colors.black,
                )),
                child: _buildStringsList())
          ],
        ),
      ),
    ],
  ),
);

}

我知道为什么 Flexible(我也尝试过 Expanded 代替它)会导致它,但我不知道另一种解决方案,谢谢!

ListView正在尝试使用所有可用空间。 将其包装在Container中并将height传递给容器构造函数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM