233 مستودعات
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 هي مكتبة مكونات واجهة مستخدم لنظام Android وإطار عمل لإدخال النماذج في تطبيقات الهاتف المحمول، تُستخدم لإنشاء حقول نصية تطبق معايير Material Design. توفر المكتبة مجموعة من مكونات الإدخال التي تتميز بتسميات عائمة، وحالات خطأ، وأنماط مرئية متوافقة مع السمات. تتيح المكتبة عرض حقول النص مع تسميات متحركة ونصوص مساعدة مدمجة. كما تدعم إضافة أيقونات التصميم وتسمح بتخصيص الألوان والخطوط للنصوص الأساسية، ونصوص الخطأ، والنصوص المساعدة. يتضمن إطار العمل قدرات للتحقق من صحة الإدخال في تطبيقات الهاتف، مثل فرض حد أدنى وأقصى لعدد الأحرف المسموح بها في حقل النص.
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 هي مجموعة من مكونات واجهة المستخدم مصممة لتأهيل المستخدم واكتشاف الميزات. توفر وسائل إيضاح مرئية، ومؤشرات تركيز، وعلامات توجه انتباه المستخدم نحو عناصر شاشة معينة لتقديم وظائف جديدة أو مخفية. ينفذ النظام إرشادات Material Design لواجهة اكتشاف الميزات الخاصة به، مما يضمن بقاء الإبرازات المرئية ووسائل الإيضاح التفاعلية متسقة مع مواصفات التصميم الموحدة. يدعم إنشاء جولات منتج تفاعلية عن طريق ربط نقاط تفاعل متعددة في مسار تسلسلي. يتم تحقيق ذلك من خلال التموضع القائم على الإحداثيات ونظام طبقات يضمن بقاء عناصر التوجيه مرئية فوق واجهة التطبيق الحالية.
Implementation of tap targets for feature discovery.
Rebound هو إطار عمل للحركة ومحرك فيزيائي بلغة Java مصمم لإنشاء حركة فيزيائية طبيعية في رسوميات واجهة المستخدم. يعمل كمكتبة فيزياء الزنبرك (spring physics) التي تنمذج القوى والتذبذبات لدفع انتقالات الواجهة السلسة. ينفذ إطار العمل تصميم حركة تفاعلي من خلال محاكاة ديناميكيات الزنبرك والقوى الفيزيائية الواقعية بدلاً من استخدام انتقالات خطية. وهذا يسمح بإنشاء حركة عضوية داخل تطبيقات Java. يتعامل المحرك مع الرسوم المتحركة القائمة على الفيزياء من خلال محاكاة تعتمد على الزنبرك، باستخدام تكامل الخطوات الزمنية المنفصلة وحلقات تحديث مستقلة عن الإطارات. ويستخدم ديناميكيات تعتمد على المعلمات، مثل نسب الصلابة والتخميد، إلى جانب استيفاء الحركة القائم على الحالة لتحديد موضع عناصر واجهة المستخدم.
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 هو مكتبة مكونات واجهة مستخدم Android وإطار عمل لتخطيط البطاقات. يوفر مجموعة من المحولات والعروض المتخصصة المصممة كإضافة لعرض البطاقات عالي الأداء داخل قوائم إعادة التدوير. تتميز المكتبة بتنفيذ قائمة قابلة لإعادة الترتيب تدعم إعادة ترتيب العناصر بالسحب والإفلات وتسلسلات المحتوى المتداخلة. كما تتضمن نظام تفاعل لإدارة قيود التمرير الاتجاهي وشريط إشعارات إجراء التراجع القابل للتخصيص. يغطي إطار العمل مجموعة واسعة من قدرات الواجهة القائمة على البطاقات، بما في ذلك تكوين القوالب المرئية مع نماذج البيانات، وتجميع الأقسام، وتبديل الرؤية. يدعم عرض مجموعات البطاقات في ترتيبات قائمة أو شبكة أو متداخلة.
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.