public override Widget build(BuildContext context) { AxisDirection axisDirection = this._getDirection(context); Widget contents = this.child; if (this.padding != null) { contents = new Padding( padding: this.padding, child: contents); } ScrollController scrollController = this.primary ? PrimaryScrollController.of(context) : this.controller; Scrollable scrollable = new Scrollable( axisDirection: axisDirection, controller: scrollController, physics: this.physics, viewportBuilder: (BuildContext subContext, ViewportOffset offset) => { return(new _SingleChildViewport( axisDirection: axisDirection, offset: offset, child: contents)); } ); if (this.primary && scrollController != null) { return(PrimaryScrollController.none(child: scrollable)); } return(scrollable); }
public override Widget build(BuildContext context) { List <Widget> slivers = this.buildSlivers(context); AxisDirection axisDirection = this.getDirection(context); ScrollController scrollController = this.primary ? PrimaryScrollController.of(context) : this.controller; Scrollable scrollable = new Scrollable( axisDirection: axisDirection, controller: scrollController, physics: this.physics, viewportBuilder: (viewportContext, offset) => this.buildViewport(viewportContext, offset, axisDirection, slivers) ); return(this.primary && scrollController != null ? (Widget)PrimaryScrollController.none(child: scrollable) : scrollable); }
public override Widget build(BuildContext context) { List <Widget> slivers = buildSlivers(context); AxisDirection axisDirection = getDirection(context); ScrollController scrollController = primary ? PrimaryScrollController.of(context) : controller; Scrollable scrollable = new Scrollable( dragStartBehavior: dragStartBehavior, axisDirection: axisDirection, controller: scrollController, physics: physics, viewportBuilder: (viewportContext, offset) => buildViewport(viewportContext, offset, axisDirection, slivers) ); Widget scrollableResult = primary && scrollController != null ? (Widget)PrimaryScrollController.none(child: scrollable) : scrollable; if (keyboardDismissBehavior == ScrollViewKeyboardDismissBehavior.onDrag) { return(new NotificationListener <ScrollUpdateNotification>( child: scrollableResult, onNotification: (ScrollUpdateNotification notification) => { FocusScopeNode focusScope = FocusScope.of(context); if (notification.dragDetails != null && focusScope.hasFocus) { focusScope.unfocus(); } return false; } )); } else { return(scrollableResult); } }