233 repositorios
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 es una librería de componentes de UI para Android y un framework de entrada de formularios móviles utilizado para crear campos de texto que implementan los estándares de Material Design. Proporciona una colección de componentes de entrada con etiquetas flotantes, estados de error y estilos visuales temáticos. La librería permite renderizar campos de texto con etiquetas animadas y texto de ayuda integrado. Admite la adición de iconos de diseño y permite personalizar colores y tipografías para el texto principal, de error y de ayuda. El framework incluye capacidades para la validación de entradas móviles, como la aplicación de conteos mínimos y máximos de caracteres para la entrada de texto.
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 es un conjunto de componentes de UI diseñados para la incorporación de usuarios y el descubrimiento de funciones. Proporciona llamadas visuales, indicadores de enfoque y marcadores que dirigen la atención del usuario hacia elementos específicos de la pantalla para introducir funciones nuevas u ocultas. El sistema implementa las directrices de Material Design para su UI de descubrimiento de funciones, asegurando que los resaltados visuales y las llamadas interactivas permanezcan consistentes con las especificaciones de diseño estandarizadas. Admite la creación de recorridos de producto interactivos encadenando múltiples puntos de interacción en una ruta secuencial. Esto se logra mediante el posicionamiento basado en coordenadas y un sistema de capas que asegura que los elementos de guía permanezcan visibles sobre la interfaz de la aplicación existente.
Implementation of tap targets for feature discovery.
Rebound es un framework de movimiento y motor de física para Java diseñado para crear movimientos físicos naturales en animaciones de interfaces de usuario. Funciona como una biblioteca de física de resortes que modela fuerzas y oscilaciones para impulsar transiciones fluidas en la interfaz. El framework implementa un diseño de movimiento interactivo simulando dinámicas de resortes del mundo real y fuerzas físicas en lugar de utilizar transiciones lineales. Esto permite la creación de movimiento orgánico dentro de aplicaciones Java. El motor maneja la animación basada en física mediante simulaciones de resortes, empleando integración de paso de tiempo discreto y bucles de actualización independientes de los fotogramas. Utiliza dinámicas basadas en parámetros, como rigidez y ratios de amortiguación, junto con interpolación de movimiento basada en estados para determinar la posición de los elementos de la UI.
Java library that models spring dynamics.
ImagePicker es un componente de selección de imágenes móvil que proporciona una interfaz unificada para seleccionar fotos de una galería o capturar nuevas imágenes mediante la cámara del dispositivo. Sirve como un selector de medios de interfaz de marca y una capa de integración de la cámara del dispositivo. El sistema opera como una galería de medios optimizada para memoria, utilizando identificadores de activos en lugar de datos binarios crudos para evitar la sobrecarga de memoria de la aplicación. Permite la personalización de la interfaz, incluyendo colores, fuentes y etiquetas de texto, a través de un objeto de configuración para que coincida con identidades de marca específicas. El componente incluye capacidades para gestionar activos de imagen mediante la resolución dinámica de activos y la aplicación de límites de conteo de selección. También proporciona una capa de acceso a medios unificada para conectar la galería de fotos del sistema y la cámara del dispositivo.
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.