Back to Blog
Tooling2026.08.05· 5 min

A Small Flutter UI Toolkit: Progress, Paging, Shadows, Indicators

Four focused packages I extracted from product work — segmented progress, infinite paging, contoured shadows, and sliding window indicators.

FlutterPackagesUI

Not every UI idea needs a monorepo framework. Lately I’ve been extracting sharp, zero-dependency Flutter packages from patterns that kept reappearing in product code.

segmented_progress_indicator

Segmented arc progress and fading spinner widgets — useful when CircularProgressIndicator is too generic for branded loading states. Customize segment count, trail, head dot, and center values.

infinite_paging_widget

Generic infinite-scroll list/grid with load-more. Pass items and onLoadMore; get empty/loading/error/header/footer slots and guards against overlapping loads. Pagination boilerplate should not own your screen file.

contoured_shadow

BoxShadow assumes a rectangle. ContouredShadow paints from the child’s silhouette via a RenderProxyBox — opaque pixels cast shadow, transparent pixels don’t. Better for cutouts, badges, and irregular shapes.

sliding_window_indicator

PageViews with twelve pages don’t need twelve dots. A sliding window of lines keeps the indicator compact while the selection scrolls through a longer list, driven by a PageController.

The theme

Each package does one job, ships with an example app, and stays dependency-light. That’s the bar I use: if I can’t explain it in a README paragraph, it’s not ready to extract.