如何将flutter_markdown小部件垂直居中?

时间:2019-08-06 09:58:05

标签: flutter dart markdown flutter-layout

如您在图片中看到的,其中有一个Container-widget(灰色框),其中有一个来自flutter_markdown Package的Markdown小部件。

我希望Markdown元素垂直位于Container(黄色标记所在的位置)的中心,而不是Markdown现在所在的位置(“互联网”)。

编辑: 如果唯一可能的解决方案是添加固定宽度,则我需要以某种方式进行计算,因为它只能是一行或多行,或者是长文本而没有换行符。如果没有换行符,则flutter_markdown小部件会自动将文本包装到小部件中。

How should it look like

child: Container(
          constraints: BoxConstraints.expand(
            width: MediaQuery.of(context).size.width * 0.9,
            height: MediaQuery.of(context).size.width * 0.7,
          ),
          decoration: BoxDecoration(
            borderRadius: BorderRadius.all(Radius.circular(10.0)),
            color: _color
          ),
          padding: EdgeInsets.all(8.0),
          alignment: Alignment.center,
          child: Container(
            decoration: BoxDecoration(
            borderRadius: new BorderRadius.only(
              topLeft: new Radius.circular(20.0),
              bottomLeft: new Radius.circular(20.0),
            ),
            boxShadow: [
                new BoxShadow(
                  color: _color,
                  offset: new Offset(5.0, 5.0),
                  blurRadius: 20.0,
                )
              ],
            ),
            child: Scrollbar(
                child: Markdown(
                    imageDirectory: Store.storageDirectory,
                    data: _markdownText)),
          ),
        ),

谢谢。

1 个答案:

答案 0 :(得分:0)

Markdown 基于 ListView 并提供相同的属性。对我有用:

Center(child: Markdown(
          physics: BouncingScrollPhysics(),
          shrinkWrap: true,
          data: store.subtitle))