android - 子元素的阴影在颤动中改变位置
问题描述
我对 Wrap 的孩子的阴影有疑问。
我设法快速重新创建它。
显然,滚动得越多,底部的阴影就会消失并开始出现在每个项目的顶部,从而产生一种有些奇怪的效果。
子项的阴影如何保持在正确的位置?
在列表的底部,我添加了更多按钮(但总是在 Wrap 之外),并且阴影投射正确。
编辑:我添加示例代码以重新创建错误
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Hello World',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
class MyHomePage extends StatelessWidget {
final String title;
const MyHomePage({@required this.title});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(title),
),
body: Container(
height: double.infinity,
width: double.infinity,
alignment: Alignment.center,
child: ListView(
children:[
new LayoutBuilder(
builder: (BuildContext context, BoxConstraints constraints) {
List<Widget> _list = List();
int _number_items = 30;
for(int a = 0; a < _number_items; a++){
_list.add(
Card(
elevation: 4,
child: Container(
margin: EdgeInsets.all(10),
width: 200,
height: 200,
),
)
);
}
for(int a = 0; a < _number_items; a++){
_list.add(
Container(
width: 400,
child: RaisedButton(
onPressed: () {},
child: Text(
"Button in the Wrap ",
style: TextStyle(color: colors.white),
),
color: Colors.red,
),
)
);
}
return Wrap(
children: _list,
);
}
),
RaisedButton(
onPressed: () {},
child: Text(
"Button outside the Wrap",
style: TextStyle(color: Colors.white),
),
color: Colors.red,
),
RaisedButton(
onPressed: () {},
child: Text(
"Button outside the Wrap",
style: TextStyle(color: Colors.white),
),
color: Colors.red,
),
RaisedButton(
onPressed: () {},
child: Text(
"Button outside the Wrap",
style: TextStyle(color: Colors.white),
),
color: Colors.red,
)
],
)
),
);
}
}
例子:
解决方案
将此添加到ListView
:
addRepaintBoundaries: false
推荐阅读
- c# - EF Core 2.2 导航属性创建重复条目
- python-3.x - 无法使用 docker 进行复制并因找不到目录而出现错误?
- html - 如何制作具有不同比例的响应式 3 图像?
- django - 如何在 django rest 框架的 url 中设置查询参数?
- xamarin.forms - 如何将事件的参数传递给 ReactiveCommand?
- mysql - 在MySQL中如何获取特定单词后的数字
- c# - 复选框不可点击 | Xamarin.forms
- python - 在极坐标中绘制 fill_between 时,这些失真是什么?我该如何摆脱它们?
- html - 打开文件而不下载
- google-chrome - 防止 PWA 在桌面上安装提示 chrome 76?