233 repository-uri
Libraries for building custom views, layouts, and interactive UI elements.
Explore 233 awesome GitHub repositories matching part of an awesome list · User Interface Components. Refine with filters or upvote what's useful.
Hammer.js is a library for recognizing touch gestures in web applications. It functions as a unified interface that translates raw pointer, mouse, and touch inputs into a consistent stream of interaction data, allowing developers to detect patterns such as taps, swipes, and pans across different browsers and hardware. The library distinguishes itself through a modular architecture that uses configurable logic blocks to evaluate input streams against specific mathematical thresholds. It maintains an internal registry of active touch points to track complex multi-finger movements like pinching
Handles multi-touch gestures in web applications.
Hero is a transition framework and animation toolkit for iOS and tvOS designed to create fluid visual continuity between screens. It provides a shared element animation library that interpolates the position and size of views across different screens using unique identifiers. The framework includes an interactive transition controller that binds navigation progress to manual gestures and user input events in real time. It utilizes a system for calculating animation durations based on element distance and size to maintain a consistent sense of motion speed. The toolkit covers global coordinat
Library for building complex view controller transitions.
Dragula is a JavaScript drag and drop library and DOM element manipulator used to move and reorder HTML elements between multiple containers. It functions as a UI interaction framework and event manager that tracks drag lifecycles to facilitate the movement of elements within a web browser interface. The library distinguishes itself through configurable constraint validation, allowing developers to define which elements are draggable and which containers are permitted drop targets. It supports specialized interaction patterns such as element cloning, the use of specific drag handles to restri
Simplifies drag and drop functionality implementation.
AndroidViewAnimations is an animation library and visual effects toolkit for Android applications. It provides a framework for implementing motion effects, such as bouncing, sliding, and rotating transitions, for views within Android layouts. The library features a collection of predefined motion presets and stylized transition effects. These include curated sequences for shaking and pulsing to guide user attention, as well as complex movements like hinging or rolling for interface entry and exit. The toolkit covers a wide range of visual effects, including linear slides, elastic bounces, tr
Cute view animation collection.
Eureka is a framework for building structured data-entry interfaces and forms in Swift for iOS applications. It provides a declarative UI layout engine and a dynamic input interface to define fields, sections, and row layouts through a configuration layer. The system distinguishes itself through dynamic interface management, including conditional visibility and interaction control that reacts to real-time user changes. It supports complex input behaviors such as expandable row rendering, multivalued field management for inserting or deleting similar rows, and custom keyboard navigation that s
Declarative framework for building complex iOS forms.
MaterialDrawer is a navigation drawer library and side menu framework for Android applications. It provides a Material Design UI component that implements a sliding side menu to manage user movement between different sections of a mobile application. The framework supports the organization of complex navigation lists, including the use of expandable sections, sticky headers, and badges. It includes tools for building personalized interfaces, such as user profile displays and headers. The library handles navigation through item management, event handling via listeners, and state-driven UI upd
Simple take on a material design navigation drawer.
SlidingMenu is an Android navigation drawer library and UI component library used to create side-panel navigation menus that slide over or push primary content. It functions as an activity wrapper and a set of XML layout components to manage the interaction between main content and navigation layers. The library provides a system for menu aesthetic customization, allowing for the adjustment of scroll scales, fade effects, drop shadows, and touch-responsive areas. It implements a slide-in navigation interface that reveals a hidden side panel through programmatic activity wrapping and XML menu
Library to create applications with slide-in menus.
ViewPagerIndicator is a set of reusable Android UI components designed to synchronize visual paging indicators with paginated view containers. It provides widgets that track a ViewPager to display the current page position and total page count. The project enables the customization of these indicators through themes, XML layout attributes, and direct method calls to align the visual appearance with an application's design. These components handle the dynamic generation of view elements based on page count and use scroll-position interpolation to animate transitions between active indicators.
Support for horizontally scrolling ViewPager.
Litho is an Android declarative UI framework and component library used to build user interfaces through a declarative API and immutable state. It functions as an asynchronous layout engine that maps components to a structured view hierarchy to automate view updates. The framework optimizes rendering performance by computing element positions on background threads to prevent blocking the main UI thread. It further improves efficiency by flattening nested view hierarchies and caching layout results. The system includes capabilities for state reconciliation, component recycling, and the render
Declarative framework for building efficient UIs on Android.
UIEffect is an open-source C# library that provides a collection of visual effects for Unity's UI system. It enables developers to apply various graphical enhancements to UI elements, such as gradients, outlines, shadows, and distortions, directly through the Unity Editor without requiring custom shader programming. The project focuses on extending the visual capabilities of Unity's built-in UI components by offering a set of pre-built effect components that can be easily attached to UI objects. These effects are designed to work seamlessly with Unity's Canvas system and support common UI ren
Component for applying effects to uGUI elements.
Compressor is an Android image compression library designed to reduce the file size and dimensions of images within mobile applications. It functions as a bitmap optimizer that adjusts image quality and formats to minimize storage footprints and improve network upload speeds. The library operates as an asynchronous image processor, utilizing background threads and reactive streams to compress high-resolution photos. This execution model prevents user interface freezes and maintains application responsiveness during heavy image manipulation tasks. The project covers a broad range of image opt
Lightweight and powerful android image compression library.
MaterialEditText is an Android UI component library and mobile form input framework used to create text fields that implement Material Design standards. It provides a collection of input components featuring floating labels, error states, and themed visual styles. The library enables the rendering of text fields with animated labels and integrated helper text. It supports the addition of design icons and allows for the customization of colors and typefaces for primary, error, and helper text. The framework includes capabilities for mobile input validation, such as enforcing minimum and maxim
Supporting Floating Labels, Single Line Ellipsis, and helper text.
ParticleEffectForUGUI is a Unity component that renders particle systems directly within the uGUI canvas system, eliminating the need for extra cameras or render textures. It integrates particle effects into the canvas rendering pipeline with full sorting and scaling support, and respects Unity UI Mask and RectMask2D components for proper clipping. The component allows particles to be sorted alongside other UI elements by sibling index for correct visual layering, and supports multiple scaling modes including 3D scaling and automatic scaling that responds to canvas size changes. Particle mate
Renders particle effects within uGUI.
TapTargetView este un set de componente UI concepute pentru onboarding-ul utilizatorilor și descoperirea funcționalităților. Oferă callout-uri vizuale, indicatori de focus și markere care direcționează atenția utilizatorului către elemente specifice de pe ecran pentru a introduce funcționalități noi sau ascunse. Sistemul implementează ghidurile Material Design pentru UI-ul său de descoperire a funcționalităților, asigurându-se că evidențierile vizuale și callout-urile interactive rămân consistente cu specificațiile de design standardizate. Suportă crearea de tururi interactive ale produsului prin înlănțuirea mai multor puncte de interacțiune într-o cale secvențială. Acest lucru este realizat prin poziționarea bazată pe coordonate și un sistem de stratificare care asigură că elementele de ghidare rămân vizibile peste interfața aplicației existente.
Implementation of tap targets for feature discovery.
Rebound este un framework de mișcare și motor de fizică Java conceput pentru a crea mișcări fizice naturale în animațiile interfețelor utilizator. Acesta funcționează ca o bibliotecă de fizică a resorturilor care modelează forțele și oscilațiile pentru a genera tranziții fluide în interfață. Framework-ul implementează designul de mișcare interactivă prin simularea dinamicii resorturilor din lumea reală și a forțelor fizice, în loc să utilizeze tranziții liniare. Acest lucru permite crearea unei mișcări organice în aplicațiile Java. Motorul gestionează animația bazată pe fizică prin simulări cu resorturi, utilizând integrarea discretă a pașilor de timp și bucle de actualizare independente de frame-uri. Utilizează dinamici bazate pe parametri, cum ar fi rigiditatea și rapoartele de amortizare, alături de interpolarea mișcării bazată pe stare pentru a determina poziția elementelor UI.
Java library that models spring dynamics.
ImagePicker is a mobile image picker component that provides a unified interface for selecting photos from a gallery or capturing new images via the device camera. It serves as a branded UI media selector and a device camera integration layer. The system operates as a memory-optimized media gallery, utilizing asset identifiers instead of raw binary data to prevent application memory overload. It allows for the customization of the interface, including colors, fonts, and text labels, through a configuration object to match specific brand identities. The component includes capabilities for man
User-friendly image selection component.
The AndroidStaggeredGrid library provides a multi-column, masonry-style grid component for Android applications. It arranges items in a staggered layout where rows contain items of varying heights, similar to a Pinterest-style grid. The library supports dynamic column count configuration and includes built-in item interaction handling through tap event callbacks. Key capabilities include adjustable column counts that can be changed at runtime, separate column configurations for portrait and landscape orientations, automatic scroll position restoration across configuration changes, and an empt
Grid view which supports multiple columns with rows of varying sizes.
cardslib is an Android UI component library and card layout framework. It provides a set of specialized adapters and views designed as an extension for high-performance card rendering within recycling lists. The library distinguishes itself through a reorderable list implementation that supports drag-and-drop item rearrangement and nested content hierarchies. It also includes an interaction system for managing directional swipe constraints and a customizable undo action notification bar. The framework covers a broad range of card-based interface capabilities, including the composition of vis
Android Library to build a UI Card.
android-crop is an Android image cropping library and image picker. It provides a reusable view component for selecting and cropping rectangular areas of images within mobile applications. The project includes an interface for launching the system gallery to select photos and a visual tool for users to manually adjust image framing. It manages the process of extracting specific regions of a bitmap and discarding the surrounding pixels.
Library project for cropping images.
Whisper is an in-app notification library and UI messaging framework for displaying transient status updates and alerts within a mobile application. It functions as a UI component framework that provides a set of reusable visual elements for managing temporary messages. The system includes a queue-based notification coordinator that manages the timing and sequence of messages to ensure they appear and disappear in a logical order. It also features a dynamic layout manager that automatically adjusts view insets and scroll offsets to prevent notification banners from obscuring critical on-scree
UI component for displaying alerts and notifications.