flutter - 如何将flutter_markdown Widget垂直居中?
问题描述
正如您在图片中看到的,有一个 Container-widget(灰色框),其中有一个来自flutter_markdown Package的 Markdown-widget 。
我希望 Markdown 元素在容器(黄色标记所在的位置)中垂直居中,而不是 Markdown 现在所在的位置(“Internet”)。
编辑: 如果唯一可能的解决方案是添加一个固定宽度,我需要以某种方式计算它,因为它可以只有一行或多行或没有换行符的长文本。如果没有任何换行符,flutter_markdown 小部件会自动将文本包装到小部件中。
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)),
),
),
提前致谢。
解决方案
Markdown 基于 ListView 并提供相同的属性。为我工作:
Center(child: Markdown(
physics: BouncingScrollPhysics(),
shrinkWrap: true,
data: store.subtitle))
推荐阅读
- java - 如何在 android 的热敏打印机中打印 QR 码?
- r - 如何导出用 RStudio 编写的脚本,包括颜色编码、行号和格式?
- android - 无权从活动访问适配器方法 recyclerview
- android - Android 9 for BT 的广播接收器不能像 Android 5.1 那样工作
- java - 使用 java 代码删除目录发送已被其他进程使用的错误文件
- algorithm - 我的 padovan 系列代码有什么问题?
- javascript - 限制画笔框的最小和最大宽度
- mysql - 我需要遵循哪些步骤才能将数据从 oracle 数据库迁移到 AWS rds mysql?
- instagram - 如何在 Instagram 照片 URL 中获取大照片
- html - CSS动画在浏览器中有所不同