【发布时间】:2021-06-24 20:32:17
【问题描述】:
我需要让一个容器从屏幕向右滑开,同时让另一个容器从左侧滑入并保持在中心。单击继续后应该会发生这种情况。 SlideTransition Widget我试过了,不知道怎么实现,请帮忙enter image description here
【问题讨论】:
标签: flutter dart animation containers slide
我需要让一个容器从屏幕向右滑开,同时让另一个容器从左侧滑入并保持在中心。单击继续后应该会发生这种情况。 SlideTransition Widget我试过了,不知道怎么实现,请帮忙enter image description here
【问题讨论】:
标签: flutter dart animation containers slide
您可以使用PageView 来完成。
首先定义一个这样的页面控制器:
final pageCtrlr = PageController();
别忘了扔掉它。
@override
void dispose() {
pageCtrlr.dispose();
super.dispose();
}
定义一个跟踪当前Container 的int:
int currentContainer = 0;
还为Containers 的数量定义一个int:
final int numberOfContainers = 10;
比如我设置 if 为 10。(这个数字应该和你的PageView 中的孩子的数量一样)
然后将PageView 添加到您的小部件树中。
PageView(
controller: pageCtrlr, // assign your page controller to the page view
physics: NeverScrollableScrollPhysics(), // disables scrolling
children: <Widget>[...YourWidgets...],
onPageChanged: (int index) => setState(()=>currentContainer=index),
)
然后将此函数添加为更改容器的按钮上的onPressed。
void changeContainer(){
if (currentContainer + 1 > numberOfContainers - 1) return;
pageCtrlr.animateToPage(currentContainer + 1,
duration: Duration(miliseconds: 750), curve: Curves.linear,
// you can change the duration of the animation and curve
);
}
【讨论】: