jaz*_*bpn 13 scroll position pageviews flutter flutter-layout
问题:使用 PageController * 加载网页浏览后无法滚动到 POSITION
像 ViewPager 滚动到 Android 中的特定页面
Widget _buildCarousel(BuildContext context, int selectedIndex) {
PageController controller = PageController(viewportFraction: 1, keepPage: true);
return Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
SizedBox(
// you may want to use an aspect ratio here for tablet support
height: 400.0,
width: 240,
child: PageView.builder(
itemCount: assetImageList.length,
controller: controller,
itemBuilder: (BuildContext context, int itemIndex) {
return _buildCarouselItem(context, selectedIndex, itemIndex);
},
),
)
],
);
}
Run Code Online (Sandbox Code Playgroud)
jaz*_*bpn 12
终于找到了答案。只需设置initialPage: mSelectedPosition属性,如:
child: PageView.builder(
itemCount: mTemplateModelList.length,
controller: PageController(initialPage: mSelectedPosition, keepPage: true, viewportFraction: 1),
itemBuilder: (BuildContext context, int itemIndex) {
return _buildCarouselItem(context, selectedIndex, itemIndex);
},
),
Run Code Online (Sandbox Code Playgroud)
或者,如果您想在单击按钮后滚动页面,则可以使用JumpTo()方法使用PageController,另一个用户在下面明确提到:@android。
目前有 2 个选项可以处理您的请求:
PageView.builder(
controller: _pageController,
itemCount: _list.length,
itemBuilder: (context, index) {
return GestureDetector(
onTap: () {
_pageController.jumpToPage(index); // for regular jump
_pageController.animateToPage(_position, curve: Curves.decelerate, duration: Duration(milliseconds: 300)); // for animated jump. Requires a curve and a duration
},
child: Container();
);
}
),
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
19189 次 |
最近记录: |