dart - 如何在 CustomScrollView 中使用非银色小部件
问题描述
我正在尝试将 Text 小部件添加到 CustomScrollView 但我遇到了目标不一样的问题。
这是我的小部件:
@override
Widget build(BuildContext context) {
final double statusBarHeight = MediaQuery.of(context).padding.top;
return Scaffold(
key: scaffoldKey,
body: CustomScrollView(
semanticChildCount: 2,
slivers: <Widget>[
_buildAppBar(context, statusBarHeight),
Text('test')
],
));
}
_buildAppBar 方法返回一个 SliverAppBar。
我需要使用 Padding 小部件而不是文本,但我认为它会是一样的,这是同一个问题。
解决方案
我找到了在 CustomScrollView 中使用非条子的更好方法,使用 SliverToBoxAdapter 小部件。将您的非 sliver 小部件作为 SliverToBoxAdapter 小部件的子级并完成您的工作。
return Scaffold(
body: CustomScrollView(
slivers: <Widget>[
SliverToBoxAdapter(
child: Stack(
children: <Widget>[
Container(
height: 200,
width: 200,
color: Colors.green,
),
Positioned(
child: Container(color: Colors.yellow),
top: 50,
left: 50,
)
],
),
)
],
),
);
推荐阅读
- android - 三星 A6+ 对应什么(与 BrowserStack 相比)和 css 媒体查询?
- python - 检查数组的元素是否为其他多个数组所独有
- .htaccess - .htaccess RewriteRule 仅在不存在具有该名称的文件时才有效
- reactjs - React js日期在编辑模式下没有绑定
- c++ - C++ setter 不会改变变量值
- php - Gitlab CI突然因php单元失败
- javascript - 如何 $watch 来自 ng-repeat 复选框的更改
- c++ - (核心转储)c ++中的链接列表
- sql - 如何将excel表中的数据更新到基于SQL的数据库中?
- sql - Postgresql 每日插入