30 open-source projects similar to jakewharton/viewpagerindicator, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best ViewPagerIndicator alternative.
Android-ViewPagerIndicator is an Android UI component that provides visual paging indicators for ViewPager screens. It consists of a set of widgets, such as dots or titles, that show the current page position and total count within a paginated layout. The library integrates with the Android SDK and Support Library to provide navigation feedback. It synchronizes visual states with a ViewPager to reflect a user's progress as they swipe through content. The project includes options for indicator styling customization via themes, layout attributes, or programmatic method calls.
SmartTabLayout is an Android user interface navigation component that synchronizes a tabbed navigation strip with the scroll position of a ViewPager. It functions as a layout system that maps page scroll offsets to active tab indicators, providing a visual marker that offers continuous feedback as users swipe through paginated content. The component utilizes an adapter-based system to bind fragment-based page sets to dynamic tab labels. It allows for the replacement of standard tab appearances with custom layouts or user-defined views while maintaining synchronization with the page viewer. T
cardslib is an Android UI component library and card layout framework. It provides a set of specialized adapters and views designed as an extension for high-performance card rendering within recycling lists. The library distinguishes itself through a reorderable list implementation that supports drag-and-drop item rearrangement and nested content hierarchies. It also includes an interaction system for managing directional swipe constraints and a customizable undo action notification bar. The framework covers a broad range of card-based interface capabilities, including the composition of vis
UltraViewPager is an Android UI component and ViewPager extension that provides a library of page transition animations and an infinite paging controller for mobile screens. It functions as a reusable interface element for rendering paging containers with custom dimensions and aspect ratios. The project implements circular paging navigation that cycles back to the first page after the final screen is reached, creating a continuous loop. It also includes a timer-driven mechanism for automated content rotation and a coordinate-based engine to interpolate view positions and alpha values during p
ExpandableTextView is a reusable Android UI component and a custom extension of the standard Android TextView. It is designed to manage the display of long text blocks by toggling them between truncated and full-length states. The component implements a read-more interaction that triggers animated height transitions to expand or collapse content. It uses internal state management to switch between read-more and read-less labels based on the current visibility of the text. This view handles text truncation logic and dynamic line manipulation to ensure a compact layout while maintaining the ab
FlowLayout is a custom Android view widget designed to wrap child elements across multiple lines. It functions as an adapter-based layout that populates and updates flowing content from a data source, specifically for displaying collections of tags or chips. The component includes a tag selection system that supports single or multiple selection modes with configurable limits. It manages user interactions through tag click handling and includes a state manager to persist selection indices across activity reconstruction and screen rotations. The library provides capabilities for dynamic data
BannerViewPager is a customizable Android UI component for creating sliding banners and image carousels. Built upon ViewPager2, it provides a system for rendering sequences of content with integrated automatic playback and infinite looping. The library distinguishes itself through transformer-based page transitions that allow for scaling or overlapping effects. It features a pluggable indicator system and support for multi-layout rendering, enabling different visual structures for individual items based on their data type. Broad capabilities include playback control synced with the Android v
Android-ZBLibrary is a mobile framework providing core primitives for Android development, including a Model-View-Presenter framework for structural architecture, a network request wrapper, and a local data persistence layer. It also includes a library of reusable interface elements and a background task manager to maintain user interface responsiveness. The framework decouples business logic from user interfaces through its MVP implementation and manages external service integration via tools for HTTP communication, JSON processing, and response caching. The library covers a broad set of ca
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
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
MaterialEditText is an Android UI component library and mobile form input framework used to create text fields that implement Material Design standards. It provides a collection of input components featuring floating labels, error states, and themed visual styles. The library enables the rendering of text fields with animated labels and integrated helper text. It supports the addition of design icons and allows for the customization of colors and typefaces for primary, error, and helper text. The framework includes capabilities for mobile input validation, such as enforcing minimum and maxim
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
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.
PageIndicatorView is an Android custom view designed to track and visualize page progress within sliding layout systems. It serves as a visual indicator for ViewPager, synchronizing the active page marker and total page count with the state of a page slider. The component provides interactive visual effects and motion primitives that animate transitions during user swipe gestures. These include sliding or scaling effects that respond to touch movements to indicate the current position in a sequence. The project covers the implementation of page indicators for mobile navigation and onboarding
WilliamChart is an Android data visualization library and toolkit used to render interactive charts and graphs within Android applications. It functions as a UI component library for integrating data-driven dashboards and metrics into Android layouts. The library includes a specialized component for representing proportional categorical data as donut charts, which are circular charts with hollow centers. It provides a drawing engine that uses low-level APIs to map numerical data to pixel coordinates on the screen.
Side-Menu.Android is a reusable UI component for Android applications that provides a slide-out navigation drawer. It is designed to help developers organize application sections and user options into a structured, hidden panel that maintains a clean interface for the primary content area. The component distinguishes itself through its visual presentation, which follows Material Design guidelines to ensure a consistent and intuitive user experience. It features a data-driven menu hierarchy that allows for logical grouping of navigation items, and it incorporates fluid circular reveal animatio
AndroidSlidingUpPanel is an Android custom view component and sliding panel library used to create draggable overlays that slide up from the bottom of an application screen. It functions as a nested scrolling UI framework that coordinates touch events between a draggable panel and its internal scrollable content. The library distinguishes itself through a parallax effect implementation that shifts background content at different speeds than the foreground panel. It supports the definition of intermediate anchor points to create partial-view states and allows for transition physics customizati
CircleIndicator is a custom Android UI component that functions as a circular page progress indicator. It provides a graphical interface element that represents completion or progress through a circular arc. The component is designed to track a user's position within a sequence of pages, such as during onboarding flow navigation or linear screen transitions. It visualizes progress through a set of screens to provide feedback during mobile app navigation.
FSPagerView is an iOS page slider library and Swift UI component designed for creating swipable paging views. It provides a paginated navigation UI and a 3D page transition engine for managing a sequence of views. The library features an infinite carousel view that supports automated page cycling and continuous looping of content. It distinguishes itself through 3D page transition animations, including zoom and fade effects, and customizable transition effects that control how items enter and exit the screen. The component covers a broad capability surface including paginated screen layouts,
MaterialDesignLibrary is an Android Material Design UI library and cross-version framework. It provides a collection of pre-built interface controls and a compatibility layer that enables modern design patterns on older Android devices starting from version 2.2. The project focuses on bringing updated design standards to legacy Android versions to ensure a consistent user experience. This is achieved through a compatibility layer that implements modern interface elements without sacrificing visual quality on outdated operating system releases. The library includes a variety of functional com
material-dialogs is a Kotlin UI component library that provides a collection of modal dialogs and bottom sheets for Android applications. It is designed to implement user interface elements that follow Material Design standards. The library provides specialized modal interfaces for selecting calendar dates, clock times, and specific color values. It also includes system chooser integrations for selecting files and directories from local storage. Beyond pickers, the library covers a broader range of interaction components including text input dialogs, modal alerts with action buttons, and bot
AndroidPicker is a collection of customizable UI selection interfaces for Android applications. The library provides specialized components for selecting geographic addresses, calendar dates, clock times, local files, and numeric values. The library features a wheel-based input mechanism for choosing measurements and a hierarchical selection system for mapping provinces, cities, and districts. It includes cascading selection logic where choices in one picker dynamically filter available options in subsequent levels. The capability surface covers date and time picking through grid views, loca
Android-Bootstrap is a framework for Android application design that implements the Bootstrap design language and layout principles. It consists of a UI component library, a brand theme engine, and an icon integration toolkit to build mobile interfaces with a consistent visual theme. The framework utilizes a customizable interface to define global visual styles, colors, and typography across all application components. It includes a specialized system for mapping typeface files and unicode characters to scalable graphics within the interface. The project provides a collection of styled widge
XUI is a native Android UI framework and component library designed for building application interfaces. It provides a comprehensive suite of native layouts, input fields, and navigation elements, supported by a tiered theme management system for defining global visual attributes and responsive styles. The framework distinguishes itself through a specialized set of custom views and interaction toolkits, including high-performance calendars, data visualization rendering, and a variety of stylized buttons with integrated timers and visual effects. It also includes integrated media processing ca
uCrop is an Android library designed for cropping, rotating, and scaling images within mobile applications. It provides a reusable interface component that allows users to manipulate photos through touch gestures, enabling precise control over visual composition and aspect ratios. The library distinguishes itself by offering extensive customization of the editing interface, allowing developers to adjust colors, frame shapes, and widget visibility to align with specific application design languages. It handles image processing tasks by managing quality, compression formats, and output dimensio
QMUI_Android is a comprehensive design system framework and UI component library for Android applications. It provides a collection of reusable interface building blocks and styling tools designed to help developers maintain a unified visual language across mobile screens. The project distinguishes itself through an attribute-driven theme system that centralizes visual properties into a global configuration object, allowing styling changes to propagate across all components at runtime. By utilizing custom view inheritance and dynamic attribute resolution, the library ensures that interface el
This project is a community-driven directory of open-source Android libraries focused on user interface development. It serves as a centralized knowledge base that organizes high-quality third-party tools into a structured, categorical taxonomy to assist developers in discovering reliable solutions for mobile application design. The repository distinguishes itself by providing a version-agnostic index that links directly to external project resources, bypassing the need for complex dependency management. To facilitate rapid evaluation, each entry is paired with visual asset indexing, includin
This project is a native Android widget toolkit that provides a collection of standardized interface elements for mobile application development. It serves as a comprehensive implementation of the Material Design language, offering ready-to-use widgets and layouts designed to ensure consistent visual and interactive patterns across an application. The library distinguishes itself by integrating directly with the platform view system, allowing developers to maintain a uniform look and feel across different screens. It utilizes a centralized theme object to resolve visual properties and support
This project is a curated collection of Android development code snippets, implementation patterns, and technical guides designed to assist in building and maintaining mobile applications. It serves as a reference for standard mobile architecture, providing structured approaches to common development requirements and system integration tasks. The repository distinguishes itself by offering specific technical strategies for managing application lifecycles, optimizing memory usage, and ensuring interface responsiveness in resource-constrained environments. It provides programmatic techniques fo
LayoutManagerGroup is a library of custom layout managers for Android RecyclerViews. It serves as a custom list layout engine and a set of UI components designed to control how items are positioned and scrolled within a mobile interface. The project provides a mechanism for defining non-standard item placements and scrolling behaviors. It allows for the creation of specialized grid and list arrangements that deviate from standard layouts to achieve specific visual configurations. The engine handles the spatial positioning of items through coordinate-based placement and orientation-aware logi