# junixapp/xpopup

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/junixapp-xpopup).**

8,022 stars · 1,211 forks · Java · Apache-2.0

## Links

- GitHub: https://github.com/junixapp/XPopup
- awesome-repositories: https://awesome-repositories.com/repository/junixapp-xpopup.md

## Topics

`android` `bottomsheet` `dialog` `drawerlayout` `popup` `popup-dialog` `popup-menu` `popup-window` `popup-windows` `popupdialog` `popupmenu` `popupwindow` `xpopup`

## Description

XPopup is an Android popup UI framework and overlay component library used to build customizable dialogs, bottom sheets, and overlay views. It serves as a dialog engine for creating high-performance popup views and provides a toolkit for executing entrance and exit transitions.

The library is distinguished by its ability to render ultra-long, high-resolution images using memory-efficient loading and drag-to-dismiss interactions. It supports displaying overlay views while an application is in the background through system overlay permissions.

The framework covers anchor-based positioning for dropdown behaviors, gesture-driven dismissal logic, and nested-scroll interaction management. It includes a set of standard components for centered dialogs and side drawers, managed by a lifecycle system that binds popups to host components to prevent memory leaks.

## Tags

### Mobile Development

- [Custom Popup Implementations](https://awesome-repositories.com/f/mobile-development/custom-popup-implementations.md) — Provides a comprehensive engine for building customizable Android dialogs, bottom sheets, and overlay views. ([source](https://github.com/junixapp/xpopup#readme))
- [Android UI Components](https://awesome-repositories.com/f/mobile-development/android-ecosystem/android-ui-components.md) — Provides reusable visual elements like bottom sheets and side drawers for Android user experiences.
- [Android Image Memory Management](https://awesome-repositories.com/f/mobile-development/android-image-memory-management.md) — Uses specialized memory management techniques to display ultra-long images on Android without crashing.
- [System Overlay Permissions](https://awesome-repositories.com/f/mobile-development/system-overlay-permissions.md) — Enables the display of overlay views while the application is in the background via system permissions. ([source](https://github.com/junixapp/xpopup#readme))

### User Interface & Experience

- [Android Custom Popups](https://awesome-repositories.com/f/user-interface-experience/styled-properties/popup-styling/android-custom-popups.md) — Provides a comprehensive system for creating customizable Android popup menus and dropdowns.
- [Coordinate-Based Position Calculators](https://awesome-repositories.com/f/user-interface-experience/coordinate-based-position-calculators.md) — Provides logic for precisely placing popups by calculating spatial coordinates relative to target UI elements.
- [Gesture-Based Dismissal](https://awesome-repositories.com/f/user-interface-experience/drawers/gesture-based-dismissal.md) — Implements interaction logic that allows users to close overlay panels using drag and swipe gestures.
- [Anchor Attachments](https://awesome-repositories.com/f/user-interface-experience/interactive-ui-elements/interactive-tooltips/anchor-attachments.md) — Implements mechanisms for linking floating popups to target UI elements or touch points. ([source](https://github.com/junixapp/xpopup#readme))
- [Overlay Components](https://awesome-repositories.com/f/user-interface-experience/overlay-components.md) — Provides a library of floating overlay components including dialogs, modals, and bottom sheets. ([source](https://github.com/junixapp/xpopup#readme))
- [Overlay Interaction Design](https://awesome-repositories.com/f/user-interface-experience/overlay-interaction-design.md) — Implements drag-to-dismiss and nested scrolling interaction designs specifically for foreground overlays.
- [Overlay Management](https://awesome-repositories.com/f/user-interface-experience/overlay-management.md) — Manages dynamic interface layers that can appear over other apps using system overlay permissions.
- [Overlay Transition Animations](https://awesome-repositories.com/f/user-interface-experience/overlay-transition-animations.md) — Ships a toolkit for executing smooth entrance and exit transition animations for overlay views. ([source](https://github.com/junixapp/xpopup#readme))
- [Lifecycle Bindings](https://awesome-repositories.com/f/user-interface-experience/styled-properties/popup-styling/popup-positioning-engines/popup-triggers/lifecycle-bindings.md) — Binds popup resources to host components to automatically prevent memory leaks during navigation. ([source](https://github.com/junixapp/xpopup#readme))
- [Window-Based Overlay Rendering](https://awesome-repositories.com/f/user-interface-experience/window-based-overlay-rendering.md) — Uses system-level window management to render custom views above the application hierarchy for global visibility.
- [Customizable Popups](https://awesome-repositories.com/f/user-interface-experience/window-based-overlay-rendering/floating-ui-overlays/customizable-popups.md) — Functions as a framework for building customizable dialogs, bottom sheets, and overlay views.
- [Customizable](https://awesome-repositories.com/f/user-interface-experience/dialogs/customizable.md) — Provides a customizable engine for modal windows that embed specialized interface elements and long images.
- [Nested Scroll and Keyboard Coordination](https://awesome-repositories.com/f/user-interface-experience/interactive-ui-components/nested-interactive-components/nested-scroll-and-keyboard-coordination.md) — Implements specialized handling for nested-scroll interactions and software keyboard behavior within popup containers. ([source](https://github.com/junixapp/xpopup#readme))
- [Animation Sequencing](https://awesome-repositories.com/f/user-interface-experience/presentation-frameworks/animation-transition-engines/transition-effects/animation-sequencing.md) — Executes coordinated entrance and exit transitions through a temporal animation sequencing engine.
- [Nested Scroll Coordination](https://awesome-repositories.com/f/user-interface-experience/scroll-areas/scroll-orchestrators/nested-scroll-coordination.md) — Coordinates scroll events between popup content and parent containers to manage focus and keyboard behavior.
- [Popup Styling](https://awesome-repositories.com/f/user-interface-experience/styled-properties/popup-styling.md) — Provides tools to define the visual style and layout of popup components to meet design requirements. ([source](https://github.com/junixapp/xpopup#readme))

### Software Engineering & Architecture

- [Lifecycle-Aware State Management](https://awesome-repositories.com/f/software-engineering-architecture/memory-usage-analysis/memory-leak-prevention/lifecycle-aware-state-management.md) — Binds popup existence to host component lifecycles to automatically release memory and prevent window leaks.

### Graphics & Multimedia

- [Tiled Image Renderers](https://awesome-repositories.com/f/graphics-multimedia/tiled-image-renderers.md) — Renders ultra-long, high-resolution images using memory-efficient loading to prevent application crashes. ([source](https://github.com/junixapp/xpopup#readme))
