# youth5201314/banner

**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/youth5201314-banner).**

13,029 stars · 2,523 forks · Java · Apache-2.0

## Links

- GitHub: https://github.com/youth5201314/banner
- awesome-repositories: https://awesome-repositories.com/repository/youth5201314-banner.md

## Topics

`androidx` `banner` `indicator` `viewpager` `viewpager2`

## Description

This project is a customizable image carousel component for Android applications. It provides a rotating banner slider built on ViewPager2 that supports automatic playback and custom page transformation effects.

The component distinguishes itself through flexible visual customization, allowing for adjustable pagination indicators and the application of zoom, rotation, or depth effects during page transitions. It features a timing mechanism for automatic content rotation that synchronizes with the system lifecycle to optimize resource usage.

The library covers a broad range of UI capabilities, including infinite horizontal and vertical looping, adapter-based data mapping for custom layouts, and integration points for external image loaders. It also includes systems for tracking user interactions, such as item clicks and page changes, and supports dynamic content refreshing without rebuilding the component.

## Tags

### User Interface & Experience

- [Carousels](https://awesome-repositories.com/f/user-interface-experience/carousels.md) — Implements a customizable image sliding banner that users can swipe through on a mobile screen.
- [Automated Content Rotation](https://awesome-repositories.com/f/user-interface-experience/automated-content-rotation.md) — Implements a timing mechanism to automatically cycle through promotional images and slides at defined intervals.
- [Carousel Transition Effects](https://awesome-repositories.com/f/user-interface-experience/carousel-transition-effects.md) — Provides specialized visual animation styles for smooth sliding transitions between carousel images. ([source](https://github.com/youth5201314/banner/tree/release-1.4.10))
- [Swipe Transform Effects](https://awesome-repositories.com/f/user-interface-experience/content-display-components/content-carousels/swipe-transform-effects.md) — Adds predefined or custom visual transformations to pages as users swipe through carousel content. ([source](https://github.com/youth5201314/banner#readme))
- [Automatic Transition Management](https://awesome-repositories.com/f/user-interface-experience/playback-controllers/automatic-transition-management.md) — Includes a timing mechanism to control the duration and looping behavior of automatic banner rotations. ([source](https://github.com/youth5201314/banner/blob/master/README.md))
- [Infinite Loopers](https://awesome-repositories.com/f/user-interface-experience/rendering-loops/infinite-loopers.md) — Implements a scrollable container capable of looping images horizontally or vertically in an infinite cycle. ([source](https://github.com/youth5201314/banner#readme))
- [Resource Optimization Synchronization](https://awesome-repositories.com/f/user-interface-experience/animation-and-motion-systems/configuration-utility-helpers/animation-configuration/playback-lifecycle-controllers/resource-optimization-synchronization.md) — Synchronizes the automatic rotation timer with the Android system lifecycle to prevent background memory leaks. ([source](https://github.com/youth5201314/banner/blob/master/README.md))
- [Component Styling](https://awesome-repositories.com/f/user-interface-experience/component-styling.md) — Provides options to adjust the alignment, size, and color of indicators and layout backgrounds. ([source](https://github.com/youth5201314/banner/tree/release-1.4.10))
- [ViewPager2 Customizations](https://awesome-repositories.com/f/user-interface-experience/custom-ui-components/viewpager2-customizations.md) — Extends standard ViewPager2 functionality with bespoke transition effects and navigation indicators.
- [Dynamic Content Updaters](https://awesome-repositories.com/f/user-interface-experience/dynamic-content-updaters.md) — Allows updating the list of images and titles within the carousel without rebuilding the component. ([source](https://github.com/youth5201314/banner/tree/release-1.4.10))
- [Pagination Indicators](https://awesome-repositories.com/f/user-interface-experience/pagination-indicators.md) — Provides customizable pagination dot visuals that represent the current position within the banner slider.

### Part of an Awesome List

- [Carousels and Sliders](https://awesome-repositories.com/f/awesome-lists/devtools/carousels-and-sliders.md) — Provides a rotating image gallery with automatic playback and custom page transformation effects.

### Mobile Development

- [Android UI Components](https://awesome-repositories.com/f/mobile-development/android-ecosystem/android-ui-components.md) — Ships a reusable image carousel widget designed specifically for Android application user experiences.
- [Android Image Components](https://awesome-repositories.com/f/mobile-development/android-image-components.md) — Implements a customizable image sliding banner component specifically for Android applications.
- [ViewPager2 Component Extensions](https://awesome-repositories.com/f/mobile-development/viewpager2-component-extensions.md) — Utilizes ViewPager2 and RecyclerView to implement high-performance horizontal and vertical scrolling for image content.
- [Android Image Loading](https://awesome-repositories.com/f/mobile-development/android-image-loading.md) — Provides integration points for external image loaders to define how assets are fetched and rendered on Android. ([source](https://github.com/youth5201314/banner/tree/release-1.4.10))
- [Mobile Advertising Integrations](https://awesome-repositories.com/f/mobile-development/mobile-capabilities/mobile-advertising-integrations.md) — Provides a rotating banner component suitable for integrating and displaying mobile advertisement formats.

### Web Development

- [Visual Transform Transitions](https://awesome-repositories.com/f/web-development/page-transition-controls/visual-transform-transitions.md) — Applies custom view transforms like zooming and rotation to create dynamic visual effects during page swipes.

### Graphics & Multimedia

- [User Interaction](https://awesome-repositories.com/f/graphics-multimedia/immersive-interactive-systems/user-interaction.md) — Implements listeners for page changes and item clicks to trigger application-specific logic. ([source](https://github.com/youth5201314/banner/blob/master/README.md))

### Software Engineering & Architecture

- [Android Lifecycle Management](https://awesome-repositories.com/f/software-engineering-architecture/memory-usage-analysis/memory-leak-prevention/android-lifecycle-management.md) — Synchronizes the automatic rotation timer with the Android system lifecycle to prevent background memory leaks.
