flutter - Flutter Web:Sliver 布局
问题描述
我正在开发 Flutter Web。我正在使用 Sliver 进行以下布局。我在 SliverList 中收到 RenderBox 错误。如何使用 SliverLayoutBuilder 创建响应式布局?
如何在 Silver LayoutBuilder 中获得最大宽度?
示例代码
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)),
],
),
);
解决方案
推荐阅读
- java - Firestore:是否可以使用 whereArrayContains 过滤集合中的多个字段?
- sql - String_Split 仅插入第一个值
- angular - 如何从firebase中的集合中获取单个文档ID - Angular
- salesforce - 使用 Visualforce 页面和顶点重置字段
- r - 如何在 r 中的点上拟合对数曲线?
- assembly - 如何使用 IBM/MS Int 13h 扩展读取 FAT32 RootDirectory?
- python - 当我使用 line.strip(''\n") 加载时,我试图从文件中的列表中检索一个字符串,如果有点,它返回我不是完整的字符串
- javascript - 在 React 中调用组件/函数的正确方法?
- javascript - 从另一个 ReactJS 组件触发画布上的绘图
- c# - 最小化我的 xamarin.ios 应用程序后,如何在视图控制器上保持不变并保留数据?