我有一个 PageView,如何禁用向左或向右滚动。我知道通过使用NeverScrollableScrollPhysics我们可以禁用滚动,但如何禁用一个方向的滚动。
我需要一些有关如何使用 PageView 的建议。我有一个在线项目,允许用户构建自定义表单,并根据其他问题的答案完成隐藏或显示问题的条件。移动项目允许用户填写这些表格。我一直在使用 PageView,它适用于此,但我正在努力弄清楚如何指示 PageView 的结束。现在,它将允许滚动永远继续。
return PageView.builder(
controller: _controller,
onPageChanged: (int index) {
FocusScope.of(context).requestFocus(FocusNode());
},
itemBuilder: (BuildContext context, int index) {
if (index >= _form.controls.length) {
print("Returning null");
return null;
}
return FormControlFactory.createFormControl(
_form.controls[index], null);
},
);
Run Code Online (Sandbox Code Playgroud)
因为我不确定直到表单结束时有多少元素如何结束滚动?
更新:在我的示例中,我尝试返回 null,但它仍然滚动到末尾。
更新:这是我目前所在的位置:
class _FormViewerControllerState extends State<FormViewerController> {
int _currentIndex = 0;
List<FormGroupController> _groups = List();
List<StreamSubscription> _subscriptions = List();
Map<int, FormControlController> _controllerMap = Map();
bool _hasVisibilityChanges = false;
@override
void initState() {
super.initState();
for (var i = 0; …Run Code Online (Sandbox Code Playgroud) 我希望用户在 PageView 中的页面之间滚动,但是当他们尝试在第一页之前和最后一页之后滚动时,我不想向他们显示动画。我可以在彩色动画、黑色动画和无滚动之间切换,但我根本找不到禁用动画的任何可能性。
如果没有这种可能性,我该如何更改该动画的颜色或至少使其透明?