[英]does flutter respect border radius of parent?
I have a stateless widget with this builder function:我有这个构建器 function 的无状态小部件:
Widget build(BuildContext context) {
return Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(20),
color: Colors.red,
),
margin: EdgeInsets.only(
top: widget.position.dy, left: 5, right: 5, bottom: 200),
child: ListView(
padding: EdgeInsets.only(bottom: 70),
shrinkWrap: true,
children: <Widget>[
Container(height: 60, color: Color(0x8500ffff)),
],
),
);
}
basically one ListView
inside a Container
widget.基本上是
Container
小部件内的一个ListView
。 the Container has BorderRadius.circular(20)
.容器有
BorderRadius.circular(20)
。 The list vie item is a simple Container
. list vie 项是一个简单的
Container
。
Now - when I scroll the list view, the border radius of the parent container is not respected.现在 - 当我滚动列表视图时,不尊重父容器的边框半径。
Is that correct behaviour or do I make a mistake?这是正确的行为还是我犯了错误?
Thanks谢谢
You have to define borderRadius
for your listview
children widgets, I faced the same issue before and I managed to solve it by doing that. 您必须为
listview
子窗口小部件定义borderRadius
,我之前遇到过同样的问题,因此设法解决了这个问题。 So you should modify your ListView
widget: 因此,您应该修改
ListView
小部件:
child: ListView(
padding: EdgeInsets.only(bottom: 70),
shrinkWrap: true,
children: <Widget>[
Container(
height: 60,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(20),
color: Color(0x8500ffff)),
),
],
),
For anyone coming across this now, you need to wrap your ListView
in a ClipRRect
with the same border radius as your parent container对于现在遇到此问题的任何人,您需要将
ListView
包装在具有与父容器相同边框半径的ClipRRect
中
So something like this should work:所以这样的事情应该有效:
Widget build(BuildContext context) {
return Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(20),
color: Colors.red,
),
margin: EdgeInsets.only(
top: widget.position.dy, left: 5, right: 5, bottom: 200),
child: ClipRRect(
borderRadius: BorderRadius.circular(20),
child: ListView(
padding: EdgeInsets.only(bottom: 70),
shrinkWrap: true,
children: <Widget>[
Container(height: 60, color: Color(0x8500ffff)),
],
),
),
);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.