Flutter SimpleDialogの中のListView
質問
FlutterアプリでListView.builderを使ったSimpleDialogを以下のコードで表示したいのですが、どうすればいいですか?
showDialog(
context: context,
builder: (BuildContext context) {
return new SimpleDialog(
children: <Widget>[
new FittedBox(
child: new ListView(
children: <Widget>[
new Text("one"),
new Text("two"),
],
),
)
],
);
},
);
で、このようなエラーが発生します(すみません、Stackoverflowがコードが多すぎると文句を言うので、ログをコードとして包むことができませんでした)。
══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════ I/flutter ( 4481 ): 次のアサーションが performLayout() の間にスローされました。 I/flutter ( 4481): RenderViewport は固有次元を返すことをサポートしていません。 I/flutter ( 4481): 固有次元を計算するには、ビューポートのすべての子をインスタンス化する必要があります。 I/flutter ( 4481): ビューポートが遅延であることのポイントを打ち消します。 I/flutter ( 4481): 単に主軸方向にビューポートを縮めようとしているのであれば、そのために I/flutter ( 4481): RenderShrinkWrappingViewport レンダーオブジェクト (ShrinkWrappingViewport ウィジェット)で実現します。 I/flutter ( 4481): 本質的な次元 API を実装することなく、その効果を得ることができます。 I/flutter ( 4481): ... I/flutter ( 4481): 別の例外が発生しました。RenderBox はレイアウトされていません。RenderPhysicalShape#83d92 relayoutBoundary=up2 NEEDS-PAINT I/flutter ( 4481 ): 別の例外が発生しました: 'package:flutter/src/rendering/shifted_box.dart': Failed assertion: line 310 pos 12: 'child.hasSize': は真ではありません。 I/flutter ( 4481 ): 別の例外がスローされました。RenderBox はレイアウトされていません。RenderPhysicalShape#83d92 relayoutBoundary=up2
Containerでheightとwidthを指定して試してみましたが、ListViewがDialogの中に収まるようにしたいのですが、可能でしょうか?
SimpleDialogにListViewを含めるにはどうすればよいですか?
どのように解決するのですか?
ただ、ラップ
ListView.builder
の中に
Container
で、特定の
の高さ
と
幅
.
Widget setupAlertDialoadContainer() {
return Container(
height: 300.0, // Change as per your requirement
width: 300.0, // Change as per your requirement
child: ListView.builder(
shrinkWrap: true,
itemCount: 5,
itemBuilder: (BuildContext context, int index) {
return ListTile(
title: Text('Gujarat, India'),
);
},
),
);
}
で上記のメソッドを呼び出します。 showDialog .
showDialog(
context: context,
builder: (BuildContext context) {
return AlertDialog(
title: Text('Country List'),
content: setupAlertDialoadContainer(),
);
});
編集しました。
で行くことができます。 ラップの のコメントも。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン