Beispiel #1
0
        public override float computeMaxScrollOffset(int childCount)
        {
            if (childCount == 0)
            {
                return(0.0f);
            }

            int   rowCount   = ShrineHomeUtils._rowAtIndex(childCount - 1) + 1;
            float?rowSpacing = this.rowStride - this.tileHeight;

            return((this.rowStride * rowCount - rowSpacing) ?? 0.0f);
        }
Beispiel #2
0
        public override SliverGridGeometry getGeometryForChildIndex(int index)
        {
            int row        = ShrineHomeUtils._rowAtIndex(index);
            int column     = ShrineHomeUtils._columnAtIndex(index);
            int columnSpan = ShrineHomeUtils._columnSpanAtIndex(index);

            return(new SliverGridGeometry(
                       scrollOffset: row *this.rowStride,
                       crossAxisOffset: column * this.columnStride,
                       mainAxisExtent: this.tileHeight,
                       crossAxisExtent: this.tileWidth + (columnSpan - 1) * this.columnStride
                       ));
        }
Beispiel #3
0
 public override int getMaxChildIndexForScrollOffset(float scrollOffset)
 {
     return(ShrineHomeUtils._maxIndexInRow((int)(scrollOffset / this.rowStride)));
 }