На основе этого дизайна:
![enter image description here](https://i.stack.imgur.com/OiIv7.jpg)
Я пытаюсь использовать SliverList
с SliverAppBar
, но я не могу перекрыть элементы, поэтому, когда применяются верхний левый и верхний правый радиус, присутствует цвет предыдущего элемента. Это похоже на этот пост: Как перекрывать SliverList на SliverAppBar
Но я пытаюсь применить Stack
ко всем SliverList
дочерним элементам. Лучшее, что я достиг на данный момент - это обходной путь, когда я оборачиваю элемент в другой Container
и применяю предыдущий цвет фона:
CustomScrollView(
slivers: <Widget>[
SliverAppBar(
title: Text('Test'),
),
SliverList(
delegate: SliverChildBuilderDelegate(
(BuildContext context, int index) {
return Container(
child: Container(
child: Column(
children: <Widget>[
Container(
child: Text(
'Index is $index'.toUpperCase(),
),
alignment: Alignment.centerLeft,
padding: EdgeInsets.only(bottom: 10.0),
),
Container(height: 200.0)
],
),
constraints: BoxConstraints.tightForFinite(width: 200),
decoration: BoxDecoration(
color:
index % 2 == 0 ? Color(0XFF45766E) : Color(0XFFECB141),
borderRadius: BorderRadius.only(
topLeft: Radius.circular(40.0),
topRight: Radius.circular(40.0),
),
),
padding: EdgeInsets.only(
left: 20.0,
top: 10.0,
),
),
decoration: BoxDecoration(
color: index % 2 == 0 ? Color(0XFFECB141) : Color(0XFF45766E),
),
);
},
),
),
],
);
Спасибо!