CHTCollectionViewWaterfallLayout is a custom layout for iOS collection views designed to organize items of varying heights into a masonry-style grid. It enables the display of dynamic content in multiple columns to optimize screen space and visual flow. The layout allows for specific configuration of column counts and item population directions, including left-to-right, right-to-left, and shortest-column-first rendering patterns. This approach minimizes vertical gaps by placing items into the column with the lowest current height. The system also manages section-level accessories, integratin
This repository is a collection of reference implementations and galleries demonstrating best practices for the Android View system. It provides a set of practical examples for building user interfaces, including a component gallery and implementation guides for layouts, list performance, and motion design. The project distinguishes itself through detailed samples for coordinating layout animations and transition effects. It includes specialized demonstrations for complex motion animations using keyframes and interpolation, as well as a visualization tool for animation interpolation curves to
This project is a suite of visual components and interface models designed to create animated transitions between condensed grid previews and expanded detail views. It provides a card transition library and SwiftUI animated UI components that enable a peek-and-pop interface where small preview cards expand into full-screen content. The system implements an animated grid layout that allows collections of cards to expand and contract to reveal more information. These interactions are supported by animations that transform small content cells into full-screen interfaces to maintain visual contin
CSStickyHeaderFlowLayout is a custom layout subclass for iOS collection views designed to implement sticky section headers and parallax effects. It manages the positioning of headers to ensure they remain pinned to the top of the viewport as the user scrolls through a list. The layout utilizes push-based displacement to remove a pinned header once the subsequent section header reaches the top of the screen. It also incorporates linear interpolation to move header imagery at a different rate than the scroll offset, creating a visual sense of depth. These capabilities are achieved through dyna