Sliver Fill Remaining Box Adapter

pub package

A flutter package providng SliverFillRemainingBoxAdapter, a sliver that fills the remaining space or shows its child, whichever is larger.

This is essentially a combination of SliverFillRemaining, which sizes its child to the remaining space even if the child wants to be larger; and SliverToBoxAdapter, which is a sliver which sizes itself to its child.

This looks something like this:

Size by ChildFilling remaining a bitFilling entire viewport
Screenshot showing sized by child heightScreenshot showing expanded slightlyScreenshot showing expanded over entire screen

Usage

The SliverFillRemainingBoxAdapter can be used in a similar way to other slivers, particularly SliverBoxAdapter. It hasn't been tested with ShrinkWrap set to true, and shouldn't be expected to be have well in that scenario. It also hasn't been tested when it isn't the last item in the list, or when there multiple SliverFillRemainingBoxAdapter instances.

If you have any problems please let me know by opening an issue! As this is just a side-project, I can't promise to be very quick to respond but I'll do my best.

Anyone willing to make contributions are very welcome to submit PRs.

Libraries

sliver_fill_remaining_box_adapter

Dart

dart:ui
Built-in types and core primitives for a Flutter application. [...]

Core

dart:async
Support for asynchronous programming, with classes such as Future and Stream. [...]
dart:collection
Classes and utilities that supplement the collection support in dart:core. [...]
dart:convert
Encoders and decoders for converting between different data representations, including JSON and UTF-8. [...]
dart:core
Built-in types, collections, and other core functionality for every Dart program. [...]
dart:developer
Interact with developer tools such as the debugger and inspector. [...]
dart:math
Mathematical constants and functions, plus a random number generator. [...]
dart:typed_data
Lists that efficiently handle fixed sized data (for example, unsigned 8 byte integers) and SIMD numeric types. [...]

VM

dart:io
File, socket, HTTP, and other I/O support for non-web applications. [...]
dart:isolate
Concurrent programming using isolates: independent workers that are similar to threads but don't share memory, communicating only via messages. [...]