I am developing Flutter Web. I am making the following layout with Sliver. I am getting RenderBox Error in SliverList. How can I create a responsive layout using SliverLayoutBuilder ?
How can I get max Width in Silver LayoutBuilder ?
Sample Code
Scaffold(
key: smartPageScaffoldKey,
resizeToAvoidBottomInset: false,
backgroundColor: Colors.grey,
body: CustomScrollView(
slivers: [
sliverAppBar(context, _smartPage),
SliverToBoxAdapter(
child: Align(
alignment: Alignment.center,
child: Container(
width: _smartPage.pageWidth,
padding: const EdgeInsets.only(top: 20.0, bottom: 10.0),
child: Text('Size:900px'),
),
)),
SliverLayoutBuilder(
builder: (BuildContext context, SliverConstraints constraints) {
return SliverToBoxAdapter(
child: Padding(
padding: const EdgeInsets.only(left: 15.0, right: 15.0),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
Container(
width: 900,
child: DecoratedBox(
decoration: BoxDecoration(color: Colors.green),
child: SliverList(
delegate: SliverChildBuilderDelegate(
(BuildContext context, int index) {
return FadeInImage.memoryNetwork(
placeholder: kTransparentImage,
image: 'https://source.unsplash.com/category/fashion/900x600',
// width: MediaQuery.of(context).size.width,
fit: BoxFit.fill,
);
},
childCount: 5,
),
),
),
),
Spacer(),
IntrinsicHeight(
child: Container(
width: 200.0,
color: Colors.green,
),
)
],
),
));
}),
SliverToBoxAdapter(child: SizedBox(height: 200.0)),
],
),
);


Aucun commentaire:
Enregistrer un commentaire