Widget _buildItem(BuildContext context, int index) { return(new AnimatedBuilder( animation: this._pageController, builder: (BuildContext c, Widget w) => { int renderIndex = this._pageController.getRenderIndexFromRealIndex(index); Widget child = null; if (this.widget.itemBuilder != null) { child = this.widget.itemBuilder(context, renderIndex); } if (child == null) { child = new Container(); } if (this._size == null) { return child ?? new Container(); } float position; float page = this._pageController.realPage; if (this._transformer.reverse) { position = page - index; } else { position = index - page; } position *= this.widget.viewportFraction; TransformInfo info = new TransformInfo( index: renderIndex, width: this._size.width, height: this._size.height, position: position.clamp(-1.0f, 1.0f), activeIndex: this._pageController.getRenderIndexFromRealIndex(this._activeIndex), fromIndex: this._fromIndex, forward: this._pageController.position.pixels - this._currentPixels >= 0, done: this._done, scrollDirection: this.widget.scrollDirection, viewportFraction: this.widget.viewportFraction); return this._transformer.transform(child, info); })); }
public override Widget transform(Widget child, TransformInfo info) { return(this.builder(child: child, info: info)); }
public abstract Widget transform(Widget child, TransformInfo info);