【发布时间】:2020-09-15 10:52:09
【问题描述】:
【问题讨论】:
标签: user-interface flutter dart flutter-layout
【问题讨论】:
标签: user-interface flutter dart flutter-layout
你可以试试PageView。然后Transform带有动画的项目
PageView.builder(
controller: controller,
scrollDirection: Axis.horizontal,
itemBuilder: (_, i) {
return AnimatedBuilder(
animation: controller,
builder: (_, c) {
double value = 1.0;
value = controller.page - i;
value = (1 - (value.abs() * .2)).clamp(0.0, 1.0);
double dx = ((1 - value) * 100).toDouble();
if (controller.page - i < 0) {
dx = -dx;
}
double dy = -(1 - value) * 200;
return Transform.translate(
offset: Offset(dx, dy),
child: Container(
decoration: BoxDecoration(
color: Colors.green[300],
border: Border.all(),
),
alignment: Alignment.bottomCenter,
child: ls[i],
),
);
},
);
},
),
【讨论】:
你可以使用carousel_slider包,这个包有类似的解决方案并且非常可定制
【讨论】: