あるページからMaterialPageRouteをNavigate.pushしてスクロールするページに遷移させたいのですが、SingleChildScrollViewを用いるとRenderbox was not laidのエラーが出てしまいます。
ColumnやRow内にListViewを表示させてもこのエラーが発生すると思いますが、SingleChildScrollViewを使用する前はListViewをExpandedで括る事でこのエラーは解決できたのですが(表示するWidgetがはみ出てるというエラーは出ていましたが)こちらはSingleChildScrollViewをExpandedで括ってもうまく解決できませんでしたので質問させていだだきました。
解決するにはすればよろしいでしょうか?
class CardDetailScreen extends StatelessWidget { final CardModel card; CardDetailScreen(this.card, {Key key}) : super(key: key); @override Widget build(BuildContext context) { var imageContainer = Container(child: Image.asset(//...)); var setNameContainer = Container( child:Row(children: <Widget>[ Icon(//...), Expanded(child: Text(//...)), Text(//...), ],) ); var typeContainer = Container( child: Align( child: Text(//...), alignment: Alignment.centerLeft, ) ); var cardTextContainer = Container( child: Text(//...) ); var leagalContainer = Expanded( child: ListView.builder( itemBuilder: (BuildContext context, int index) { return Row( children: <Widget>[ Text(//...), Text(//...), ], ); }, itemCount: card.legalities.length, ) ); var rulingContainer = Expanded( child: ListView.builder( itemBuilder: (BuildContext context, int index) { return Row( children: <Widget>[ Text(//...), Text(//...), ], ); }, itemCount: card.legalities.length, ), ); return Scaffold( appBar: AppBar( title: Text(card.name), ), body: Container( //ここの部分 child: SingleChildScrollView( child: Column( children: <Widget>[ imageContainer, setNameContainer, typeContainer, cardTextContainer, leagalContainer, rulingContainer, ], ) ) ) ); } }
あなたの回答
tips
プレビュー