30 open-source projects similar to software-mansion/react-native-gesture-handler, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best React Native Gesture Handler alternative.
AndroidNote is a technical knowledge base and reference resource for Android development. It provides comprehensive guidance on application architecture, custom view development, and advanced graphics programming. The project is distinguished by its depth in visual implementation, covering pseudo-3D perspective projections via virtual cameras and complex 2D rendering using Bézier curves and PorterDuff color blending. It also provides detailed methodologies for app modularization and the management of internal libraries through private Maven repositories and JitPack. The reference surface ext
Animated is a declarative framework designed for creating high-performance, cross-platform interface movements. It provides a system for defining complex UI transitions through property interpolation, value mapping, and physics-based motion, allowing developers to orchestrate fluid visual effects without manual frame updates. The library distinguishes itself by offloading animation instructions to the native UI thread, ensuring consistent performance across mobile and web environments. It supports sophisticated motion design by linking multiple animation variables together, enabling coordinat
This repository is a collection of reference implementations and sample projects that demonstrate high-fidelity animations and gesture-driven interface patterns for cross-platform mobile frameworks. It provides a library of demonstration code and interactive components to showcase advanced user interface patterns. The project focuses on mapping complex touch inputs to fluid visual animations and coordinated layout changes. These examples serve as prototypes for developing and testing complex interaction patterns to determine the feasibility of specific design behaviors in React Native. The i
SmartRefreshLayout is a pull-to-refresh framework and gesture interaction library for Android. It provides a scroll view wrapper that integrates interactive refresh headers and loading footers into mobile user interfaces, coordinating synchronized scrolling and touch events. The project features a pluggable architecture for custom refresh indicators and secondary refresh mechanisms. It utilizes damping-based gesture translation and overscroll rebound mechanisms to manage the tactile feel of drag resistance and physics-based animations. The library covers a broad range of interaction logic, i
Moveable! Draggable! Resizable! Scalable! Rotatable! Warpable! Pinchable! Groupable! Snappable!
This project is an Android RPA framework designed for automating user interfaces and system tasks on rooted Android devices using Python and ADB. It provides a suite of tools for rooted device management, allowing for programmatic control of system settings, application lifecycles, and shell command execution via a remote API. The framework distinguishes itself through a combination of dynamic instrumentation and AI integration. It can inject scripts into running processes to hook Java interfaces and modifies application behavior in real time. Additionally, it supports large language model in
This project is a macOS input remapper and mouse customizer designed to assign custom actions and system-wide gestures to mouse button presses and movements. It functions as a mouse gesture manager and scroll enhancer, enabling the emulation of multi-finger trackpad motions and providing omnidirectional precision scrolling. The utility distinguishes itself by allowing independent scroll direction settings for a mouse without altering global trackpad configurations. It further implements a momentum-based algorithm to replace discrete scroll steps with smooth, fluid movement. The software cove
interact.js is a JavaScript interaction library used to implement drag and drop, resizing, and multi-touch gestures within web browsers. It provides a specialized interaction framework for scalable vector graphics, allowing these elements to be moved and resized. The library features a multi-touch gesture engine that recognizes complex patterns such as pinch and rotate, and a coordinate snapping engine for aligning elements to grids or restricting movement within boundaries. It also includes a cross-frame state synchronizer to share interaction states and input events across multiple browser
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
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
TouchEGG is a multi-touch gesture recognizer and input bridge for Linux that operates as a background service. It detects gestures on touchpads and touchscreens, mapping swipes, pinches, and taps to specific system actions across different display protocols. The tool functions as an input device gesture mapper, converting touch patterns into keyboard shortcuts, mouse clicks, or the execution of arbitrary shell commands. It allows for the definition of custom gesture-based triggers to manage window states and navigate virtual desktops. The system handles input emulation for both keyboard comb
This project is a Windows Precision Touchpad driver and Apple Trackpad HID driver. It functions as an input device gesture driver that converts raw touch data from Apple trackpads and MacBooks into native multi-touch gestures and precise pointer movement. The driver implements the precision touchpad protocol to enable native Windows gesture and pointer controls for Apple hardware. This allows the operating system to recognize Apple trackpads as precision touchpads, replacing basic mouse functionality with native multi-finger swipes and precise scrolling. The implementation covers kernel-mode
This project is a cross-platform mobile carousel component for creating swipeable image and content sliders. It functions as a virtualized list component that maintains performance by removing off-screen elements and utilizes a native-driver animation library to map scroll offsets to style properties on the native thread for lag-free transitions. The library provides a parallax image gallery capable of shifting images relative to scroll progress to create a sense of depth. It also features a layout system that supports right-to-left orientations for languages such as Arabic and Hebrew. Capab
BGARefreshLayout-Android is a layout library for Android applications that implements pull-to-refresh and pull-up-to-load-more patterns. It serves as a specialized view container and list loading framework designed to manage loading indicators and status text during data fetching operations. The library distinguishes itself by supporting a customizable view hierarchy that allows for the integration of a dedicated advertisement space at the top of the layout, positioned above the scrollable content. It provides a view holder system that enables the creation of bespoke visual effects and animat
This project is a collection of official plugin packages and a native integration library designed to provide a consistent interface for accessing hardware and software functionality across different mobile and desktop platforms. It serves as a native platform bridge, enabling cross-platform applications to invoke native code and manage operating system dependencies. The project utilizes a federated plugin architecture, splitting plugins into common interfaces and separate platform implementations to allow for independent development and extension. It further supports native integration throu
Fastclick is a JavaScript library and touch event optimization tool designed to remove the 300ms delay between a physical tap and a click event on mobile browsers. It functions as a lightweight DOM event handler middleware that manages touch-to-click timing to reduce input lag and improve the responsiveness of mobile web interfaces. The library provides granular control over touch latency removal, including a mechanism to exclude specific elements from this optimization. This allows certain user interface components to maintain native browser touch behavior via CSS class identifiers. The pro
Tiny-slider is a vanilla JavaScript carousel library used to create touch-enabled content sliders and accessible UI components without external dependencies. It functions as a responsive layout engine that adjusts slide visibility and dimensions based on viewport breakpoints. The library distinguishes itself through built-in lazy loading for images and media to improve page performance and a responsive system that automatically scales item counts and spacing according to the device screen size. It also supports nested slider instances, allowing for the creation of multi-directional scrolling
This is a bottom sheet component library for React Native that provides gesture-driven panels sliding up from the bottom of the screen. The library is built around configurable snap points, dynamic sizing, keyboard awareness, modal presentation, and synchronized scrolling, with native driver animation offloaded to the native thread for smooth performance. The library distinguishes itself through deep gesture and animation control, including custom gesture handler overrides, scroll-gesture synchronization, and dynamic snap point recalculation when content size or keyboard visibility changes. I
JazzHands is a UIKit framework providing a scroll-driven animation engine and a paging layout manager. It enables the binding of view properties to timelines of keyframes, allowing visual transitions to be synced with real-time scroll offsets or gesture data. The project distinguishes itself through a value-interpolation engine that calculates intermediate property states. This allows animation progress to be driven by external input values, mapping view attributes to a timeline based on a floating point progress indicator. The framework also includes a system for organizing views within pag
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
SwipeBackLayout is an Android gesture navigation library and view component designed to implement edge-swipe gestures for navigating back to previous screens. It provides the underlying logic and layout management necessary to integrate horizontal swipe transitions into an application's screen stack. The library utilizes a custom layout manager to coordinate the simultaneous movement of foreground and background views. It maps horizontal touch offsets to the translation and opacity of view hierarchies, using interpolation to calculate visual progression based on the swipe percentage. The sys
Snap.js is a JavaScript library for building draggable side navigation panels on touch devices. It enables slide-in menus from the left or right screen edge, driven by a gesture-based state machine that interprets drag and flick gestures to open and close the panel. The library distinguishes horizontal menu drags from vertical scrolling by analyzing the initial touch movement angle, and locks menu movement to a single axis to prevent interference. It uses hardware-accelerated CSS transforms for smooth animations and provides configurable snap thresholds that determine whether a drag should op
This is a keyboard interaction library and manager for React Native that provides smooth animations, gesture-based dismissal, and event tracking. It serves as a cross-platform keyboard event bus, ensuring consistent keyboard show and hide behavior between iOS and Android. The project features an interactive animation driver that links native keyboard frame events directly to animated values to bypass bridge round-trips. It enables interactive keyboard dismissal via swipe gestures and includes a keyboard preloading system to eliminate first-show latency and input lag. The library provides com
Moti is a cross-platform animation framework and state-driven animation engine designed to create consistent visual transitions and motion effects across mobile and web platforms. It functions as a native-thread animation wrapper and library that leverages a shared-value system to synchronize state changes between the logic layer and the native rendering engine. The framework distinguishes itself through its layout transition tools and the ability to execute complex sequences and loops on the native thread to maintain high frame rates. It provides a system for orchestrating smooth entry and e
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
This project is a cross-platform UI component for React Native applications that provides a customizable overlay window for presenting content on top of existing application views. It serves as a library for managing animated modal components, backdrops, and mobile transitions. The component distinguishes itself through support for custom enter and exit animations and highly configurable backdrops, allowing for the adjustment of opacity, color, and the integration of custom elements. It also implements gesture-based dismissal, enabling users to close overlays via background taps or swipes in
Vanta is a browser-based engine and library for rendering real-time, interactive 3D animations and stylized visual effects. It initializes and manages WebGL graphics within the HTML5 Canvas element to create animated digital art and dynamic backgrounds for web pages. The engine focuses on interactivity, mapping mouse and touch inputs to real-time visual changes. It provides configuration tools to adjust visual parameters, such as colors and animation properties, to align with specific branding and aesthetic requirements. The system handles the full animation lifecycle, including GPU renderin
body-scroll-lock is a DOM scroll locking library and cross-browser scroll controller. It provides utilities to disable page scrolling while maintaining scrollability for specific nested elements across different browsers and devices. The project functions as a layout shift prevention utility and a web UI modal scroll manager. It includes mechanisms to add padding to the body when scrollbars are removed to prevent horizontal flickering and content shifting. The library covers scroll management for mobile navigation and modal interactions, enabling specific containers to remain scrollable whil
react-native-interactable is a gesture physics library and interaction framework for React Native. It provides an animated gesture engine and a physics-based UI toolkit designed to create complex touch-based components such as swipeable rows and draggable cards. The project distinguishes itself through the simulation of physical properties, including spring tension, surface friction, and gravitational forces. It allows for the creation of gravity wells that attract or repel views and integrates simulated springs to pull elements toward specific coordinates with adjustable damping. The framew
react-konva is a declarative React canvas graphics library and 2D vector graphics framework. It serves as a rendering engine and interactive canvas toolset that allows for the drawing and management of complex 2D shapes and graphics using a React component model. The library maps reactive component trees to an underlying object-oriented graphics scene graph, enabling the synchronization of visual states with application data. It provides specialized tools for building interactive graphical interfaces, including support for multi-touch gestures, drag-and-drop functionality, and real-time trans