Dart 对齐颤振的第一个小部件';s scrollview最初为centeric,但以下所有选定的小部件也位于中心
我想要实现的目标 我想让ScrollView的第一个小部件最初居中。但是如果scrollview被滚动,scrollview应该与父窗口具有相同的宽度,并且居中的小部件应该是选中的小部件 方法 我的第一个想法是使用Dart 对齐颤振的第一个小部件';s scrollview最初为centeric,但以下所有选定的小部件也位于中心,dart,flutter,scrollview,Dart,Flutter,Scrollview,我想要实现的目标 我想让ScrollView的第一个小部件最初居中。但是如果scrollview被滚动,scrollview应该与父窗口具有相同的宽度,并且居中的小部件应该是选中的小部件 方法 我的第一个想法是使用initialScrollOffset属性。但这似乎没有任何效果 @override Widget build(BuildContext context) { return ListView( scrollDirection: Axis.horizontal,
initialScrollOffset
属性。但这似乎没有任何效果
@override
Widget build(BuildContext context) {
return ListView(
scrollDirection: Axis.horizontal,
children: _buildCarouselItems(),
itemExtent: FrettirConstants.cardWidth,
controller: new ScrollController(
debugLabel: "Carousel",
initialScrollOffset: -200,
keepScrollOffset: true
),
);
}
草图
这听起来可能是一种不好的做法,但您可以在第一个位置添加一个具有其他旋转木马小部件3/4宽度的空容器 在我的伪代码中,每个旋转木马小部件的长度为160,空容器必须有其他小部件的3/4。这样,第一个旋转木马小部件完全可见,而第二个小部件具有3/4的可见性
Container(
width: 160.0 * 3 / 4,
color: Colors.transparent,
),
Container(
margin: EdgeInsets.only(
right: 10.0
),
width: 160.0,
color: Colors.red,
),
Container(
margin: EdgeInsets.symmetric(
horizontal: 10.0
),
width: 160.0,
color: Colors.blue,
),
谢谢您的快速帮助。我会把这个答案标记为有帮助,但不是在答案上。我希望会有一个更“合适”的方法来实现它。是的,这不是一个合适的答案或解决方案。我希望这不会成为你项目的障碍。不,当然不会。你帮助保持了“进步”。我可以稍后再讨论这个问题。谢谢你的帮助!