30 open-source projects similar to pkluz/pkrevealcontroller, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
SWRevealViewController is an iOS container view controller and navigation transition component used to create reveal view interfaces. It functions as a side menu controller that slides a primary view to expose a secondary navigation panel or hidden content. The project enables the creation of layered UI where a main screen moves away from the edges via pan and tap gestures to reveal a background side menu. It manages the visual transitions and animation behaviors required to switch between these stacked view controllers. The system handles nested interface layers and view controller manageme
ViewDeck is a side menu management framework and gesture-based navigation library for iOS. It provides a system for coordinating the presentation, animation, and interaction logic of left and right side menus within a container view controller. The framework features a dynamic menu controller that allows for updating or removing active menu controllers at runtime to modify available navigation options. It includes a transition coordinator to manage custom motion and visual properties for sliding navigation panels. The library supports both programmatic menu control and gesture-based activati
FDFullscreenPopGesture is an iOS navigation gesture library and UIKit enhancement designed to implement edge-swipe back navigation and automatic navigation bar transitions in iOS applications. It provides a category for navigation controllers that adds a fullscreen swipe-to-pop gesture matching the system interaction style. The library manages the synchronization of navigation bar visibility animations during fullscreen transitions. This ensures that view controllers which do not natively support edge-swipe navigation can utilize system-standard back gestures. The project covers user interfa
PhotoView is a custom Android view implementation designed to display high-resolution images with native support for zoom and pan gestures. It provides a zoomable image view and a matrix controller to manage how images are scaled and translated within a mobile user interface. The library handles the detection of pinch-to-zoom and tap gestures to enable interactive image navigation. It manages the transformation matrix of the image to ensure smooth magnification and provides viewport constraints to align photo edges with screen boundaries. The project covers the broader requirements of mobile
ECSlidingViewController is an iOS navigation UI component and side menu controller. It functions as a view controller container that manages layered interfaces and slide-out navigation menus, allowing a secondary menu view to be stacked beneath a primary content view. The framework includes a customizable view transition manager that replaces default sliding animations and swipe interactions with custom transition logic. It is designed as a storyboard-compatible UI container, supporting the use of runtime attributes and unwind segues for integration within Xcode Storyboards. The project cove
MMDrawerController is a side drawer navigation controller for mobile applications. It serves as a mobile UI navigation container that organizes a primary center content area and a hidden slide-out side menu. The project provides a transition animation framework to define custom visual effects when presenting or dismissing the side menu. It also includes a system for customizable gesture navigation, allowing the definition of touch gestures and pan events to trigger menu transitions. The controller covers app layout management via a container view and integrates iOS gesture recognition. It in
Slideout is a touch-gesture UI component and navigation menu designed for mobile web applications. It provides a side panel that slides across the screen to reveal navigation options, utilizing CSS transitions to animate the movement of the viewport. The component manages the expanded or collapsed state of the navigation menu and includes logic to restrict gestures for specific interface elements to prevent interaction conflicts. It employs a system for executing custom logic triggered by menu state transitions and user drag gestures.
SwitchButton is a customizable toggle switch widget for creating animated on and off switches with configurable labels and colors. It serves as an interactive form input that allows users to switch between two opposing options using a state-driven component. The widget is designed to be gesture-aware, capturing horizontal swipe movements to trigger state changes while allowing vertical scroll events to pass through to the parent container. The component supports the definition of custom colors, dimensions, and corner radii for both the toggle thumb and background track. It includes capabilit
AndroidSwipeLayout is an Android UI library and custom view framework that enables the creation of layouts that reveal hidden action buttons when a user performs a swipe gesture. It functions as a gesture-based UI component that triggers callbacks based on the real-time position of the swipe. The framework is designed to support complex interaction patterns, specifically allowing for the nesting of multiple swipeable components within one another. The library covers mobile gesture interaction and custom view orchestration, providing tools to track swipe states and synchronize UI changes duri
pulltorefresh.js is a JavaScript library and touch-gesture UI component used to add pull-to-refresh functionality to scrollable elements in web applications. It acts as a web interaction plugin that detects downward scrolling gestures to trigger content refresh actions. The library focuses on mobile web application user experiences, allowing developers to implement touch-based navigation and dynamic content refreshing that mimics native app behaviors on smartphones and tablets. The implementation includes configurable trigger distances and sensitivity thresholds. It utilizes touch-event trac
This is a mobile UI overlay library for React Native that provides an animated modal component. It functions as a gesture-responsive interface element used to present supplementary content via overlay windows that support custom transitions and dynamic layout adjustments. The library features a dynamic layout observer that automatically resizes and repositions components during screen rotations or when the on-screen keyboard appears. It implements gesture-based navigation, allowing users to dismiss overlays through configured swipe gestures and backdrop interactions. The project covers anima
Mobile-angular-ui is a frontend framework designed for building touch-friendly mobile web applications using AngularJS and Bootstrap styles. It provides a toolkit for creating cross-platform interfaces with native-like gestures and responsive layouts, enabling developers to transform standard desktop web interfaces into touch-friendly mobile layouts with minimal structural adaptations. The framework includes directive-driven UI components such as sidebars, overlays, switches, and navigation bars. It supports declarative state management through generic directives that bind state transformatio
Phoenix is a JavaScript gesture library and mobile-first interaction toolset designed to manage touch events and scroll behaviors in web-based interfaces. Its primary purpose is to provide a pull-to-refresh UI component that triggers data updates when a user pulls down on a mobile or web view. The library focuses on mobile web interaction design, providing themed animations and visual indicators that mimic native mobile app gestures. It enables the implementation of dynamic data refresh workflows through a downward drag interaction. The project covers the interception of scroll events and th
ListViewAnimations is an Android list item motion framework and animation library designed to implement visual transitions and interactivity within list and grid views. It provides a toolset for managing item motion, specifically focusing on how elements appear, move, and transition within a user interface. The library enables complex interactive gestures, including swipe-to-dismiss and drag-and-drop reordering. It also supports the animated expansion of list items to reveal hidden content and applies visual effects such as fading and scaling as elements enter the screen. The framework cover
use-gesture is a JavaScript gesture manager and interaction tool designed to detect and process user input patterns. It functions as a React gesture hook library and a general utility for tracking screen coordinates and movement patterns to drive interactive component behaviors. The library specializes in capturing complex mouse and touch interactions, including dragging, pinching, swiping, and scrolling. It provides a system for implementing drag and drop functionality and pinch-to-zoom interactions. The tool covers the development of interactive UI components by normalizing diverse input e
SwipeBackLayout is an Android gesture navigation library that provides the mechanisms for implementing native-style edge-swipe interactions and view transitions. It functions as a swipe-to-dismiss layout manager and touch event interceptor, allowing users to return to previous screens through physical touch gestures. The library manages the visual transition between screens using a coordinate-based translation system. This includes the use of alpha scaling, view-hierarchy layering, and horizontal translation to maintain visual continuity during navigation. The system includes tools for defin
Kivy is a cross-platform Python GUI framework used to build graphical user interfaces that run on desktop and mobile operating systems from a single codebase. It functions as a multi-touch UI library and a custom widget toolkit, providing a development environment for packaging Python applications into binary installations for Android and iOS. The framework is distinguished by its ability to handle complex multi-touch gestures and interactive input across various devices. It utilizes a specialized domain language for declarative UI construction to separate visual layout definitions from Pytho
MvvmCross is a .NET MVVM framework designed for building cross-platform applications by separating business logic from native user interfaces. It functions as a navigation engine and a UI data binding library, enabling the encapsulation of logic within view models that are reused across different operating systems. The framework provides a native hardware abstraction layer and a dependency injection container to decouple components and provide a consistent interface for accessing device features. It coordinates type-safe transitions between native screens and manages the synchronization of da
Vaul is a React drawer component used to create accessible, draggable bottom sheets and slide-up panels. It serves as a mobile-friendly alternative to traditional dialogs and modals by rendering content into a separate DOM node via a portal to avoid layout nesting issues. The library features configurable snap points that allow panels to lock into specific vertical heights during drag gestures. It supports hierarchical UI layering, enabling the use of nested drawers for complex navigation or multi-level menus. The component includes an accessibility layer with ARIA announcements and focus ma
cube-ui is a mobile-first Vue.js component library that provides a comprehensive set of pre-built UI elements for building touch-based mobile web applications. The library is built on Vue's single-file component architecture and supports on-demand ES module imports, allowing developers to selectively load only the components they need to optimize bundle size. It also offers plugin-based global registration for convenient setup and includes a CLI scaffolding tool to generate project skeletons with pre-configured build settings. The library distinguishes itself with a gesture-driven interaction
mui is a mobile UI component framework and native-like web UI kit designed for building high-performance mobile web interfaces. It functions as a mobile web performance framework and gesture-based interface library to eliminate browser lag and mimic the behaviors and animations of native mobile applications. The framework focuses on implementing common mobile UX patterns, including pull-to-refresh functionality, swipe-to-action menus, and sliding side navigation. It provides specialized tools for gesture-driven interface development to ensure an immediate visual response to touch interactions
Koloda is an iOS gesture interaction library and SwiftUI view component used to create swipeable card interfaces. It provides a stack-based view component that manages overlapping views, ensuring only the top-most element remains actively interactive. The library allows for the customization of card appearance, including the configuration of overlays and animations that dictate how background cards move during a swipe. It manages drag behavior and swipe directions, triggering specific logic when cards are swiped, tapped, or fully exhausted. The component covers the implementation of gesture-
VCTransitionsLibrary is a suite of tools providing pre-built visual effects and gesture-driven controllers for managing transitions between view controllers in iOS applications. It serves as a UIKit animation framework that implements custom animations for navigating between screens to improve visual flow. The library features a collection of pre-defined animations, including flip, fold, cube, and crossfade effects. It includes an interactive transition controller that links gesture recognizers, such as swipes and pinches, to animations, allowing users to manually drive or cancel the navigati
Sortable is a JavaScript drag and drop library used to create reorderable lists of HTML elements. It is a framework-agnostic tool and a touch-enabled interaction library that functions across modern browsers and touch devices without dependencies on specific web frameworks. The library enables the movement and cloning of elements between different containers using shared group configurations. It supports the repositioning of multiple items simultaneously and the use of specific drag handles to restrict which areas of an element trigger a move. Additional capabilities include programmatic sor
This is an Android pull-to-refresh library and custom view component designed to implement refresh interactions across any Android view. It functions as a gesture interaction tool that manages pull-down motions and touch conflicts to trigger data loading operations. The library provides tools for creating custom refresh headers and indicator visuals, utilizing a path-based animation engine to produce non-linear visual transitions. It includes mechanisms to define specific trigger thresholds through height ratios and user release events. The project covers gesture management and touch interac
Jcrop is a JavaScript image cropping library that provides a browser-based interface for users to interactively select and define rectangular regions of an image. It utilizes a DOM-based image overlay to wrap images in relative containers, allowing for the placement of adjustable selection handles and boundary constraints. The tool distinguishes itself through comprehensive input support, translating touch gestures and keyboard intercepts into precise coordinate updates for both mobile and desktop environments. It features an engine capable of enforcing custom aspect ratio constraints and cal
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
PlayCover is a desktop mobile application wrapper that enables mobile software to run on macOS. It functions as a virtualization layer, providing a compatibility environment that allows users to execute mobile applications directly on desktop hardware. The project distinguishes itself by bridging the gap between mobile and desktop operating systems through a combination of binary patching and system framework emulation. It maps touch-based gestures and screen interactions to standard desktop peripherals, allowing users to control mobile games and applications using a keyboard, mouse, or contr
nativescript-vue is a framework for building native iOS and Android applications using Vue components and a reactive state system. It functions as a cross-platform mobile UI library that renders platform-specific views instead of web views, utilizing a native mobile application bridge to connect Vue logic to NativeScript APIs for direct access to mobile hardware and OS features. The framework employs a reactive mobile component system to create high-performance screens and dynamic lists with automatic state updates. This architecture allows for the development of native mobile applications fr
Fluro is a routing library for Flutter applications that provides a system for managing screen transitions and application navigation. It functions as a navigation manager that maps string paths to specific views using a centralized route definition system. The library features a wildcard route parser and dynamic path matching, allowing for the extraction of named parameters from URLs at runtime. It also includes a custom page transition framework to define and execute animation effects as screens enter and exit the visible area. The project covers the transfer of complex data objects betwee