Я пытаюсь запустить виджет Markdown (package: flutter_markdown 0.2.0) внутри SliverList, но у меня есть некоторые проблемы.
В идеале я хотел бы выполнить виджет Markdown внутри виджета ExpandTile внутри Sliver, но сейчас я просто хочу решить проблему дочернего элемента Markdown для Sliver.
Код, который я публикую, вызывает у меня проблемы:
Я правильно вижу текст уценки, но приложение зависло (не могу прокрутить, ничего не могу сделать). У меня такое поведение при использовании виджета MarkdownBody
При использовании виджета Markdown появляется сообщение об ошибке:
I/flutter (31761): ══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════
I/flutter (31761): The following assertion was thrown during performResize():
I/flutter (31761): Vertical viewport was given unbounded height.
I/flutter (31761): Viewports expand in the scrolling direction to fill their container.In this case, a vertical
I/flutter (31761): viewport was given an unlimited amount of vertical space in which to expand. This situation
I/flutter (31761): typically happens when a scrollable widget is nested inside another scrollable widget.
I/flutter (31761): If this widget is always nested in a scrollable widget there is no need to use a viewport because
I/flutter (31761): there will always be enough vertical space for the children. In this case, consider using a Column
I/flutter (31761): instead. Otherwise, consider using the "shrinkWrap" property (or a ShrinkWrappingViewport) to size
I/flutter (31761): the height of the viewport to the sum of the heights of its children.
I/flutter (31761):
...
Это полный код моего примера:
import 'package:flutter/material.dart';
import 'package:flutter_markdown/flutter_markdown.dart';
const String _markdownData = """# Markdown Example
Markdown allows you to easily include formatted text, images, and even formatted Dart code in your app.
## Styling
Style text as _italic_, __bold__, or `inline code`.
- Use bulleted lists
- To better clarify
- Your points
## Links
You can use [hyperlinks](hyperlink) in markdown
## Images
You can include images:
![Flutter logo](https://flutter.io/images/flutter-mark-square-100.png#100x100)
## Markdown widget
This is an example of how to create your own Markdown widget:
new Markdown(data: 'Hello _world_!');
## Code blocks
Formatted Dart code looks really pretty too:
void main() {
runApp(new MaterialApp(
home: new Scaffold(
body: new Markdown(data: markdownData)
)
));
}
Enjoy!
""";
void main() {
runApp(MaterialApp(
title: "Markdown Demo",
home: Scaffold(
appBar: AppBar(title: const Text('Markdown Demo')),
body: Container(
child: CustomScrollView(slivers: <Widget>[
SliverList(
delegate:
SliverChildListDelegate([Markdown(data: _markdownData)]),
)
])))));
}
РЕДАКТИРОВАТЬ: я решил проблему
Проблема была в этой строке кода:
![Flutter logo](https://flutter.io/images/flutter-mark-square-100.png#100x100)
Изображение не существует, и приложение останавливается.