30 open-source projects similar to grantland/android-autofittextview, 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.
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
Ticker is a custom Android UI component that implements rolling character animations to simulate mechanical odometer displays. It provides a scrolling text view designed to animate transitions between different strings using vertical motion. The component utilizes a custom drawing loop and character-array sequence mapping to control the vertical scrolling path. It supports wrapped animation paths to create seamless loops and includes mechanisms to handle translation offsets when transitioning between strings of varying lengths.
BoomMenu is an Android radial menu library and UI animation framework designed to create expandable floating action buttons. It provides a set of programmable custom view components that reveal submenu items in radial, horizontal, or vertical patterns using 3D transformations. The library distinguishes itself through a 3D-transformation animation engine that utilizes non-linear easing, scaling, and rotation to create depth during menu expansion. It includes specialized layout patterns for share-style menus and a coordinate-based mapping system for precise item displacement. The framework cov
:pagefacingup: Android Text Full Jusiftication / Wrapping / Justify / Hyphenate - V2.0
(DEPRECATED) Android experiment showing a sinking TextView
(DEPRECATED) An Android TextView with a shimmering effect
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
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
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
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
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
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
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.
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
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.
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
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.
Accompanist is a collection of extension libraries that provide additional functionality and specialized components for the Jetpack Compose UI framework. It serves as a toolkit for implementing common layout and system tasks that extend the core capabilities of declarative UI development on Android. The library provides specialized utilities for managing modal bottom sheet destinations and defining custom animations for screen transitions within a navigation graph. It includes tools for detecting screen folds and display features to create adaptive layouts that adjust based on window size and
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
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
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
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
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 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
Android-Expert is a collection of educational resources and step-by-step instructional materials for learning Android app programming. It provides a comprehensive learning path for building mobile applications using the Kotlin programming language and Android Studio. The material covers the full development lifecycle, from designing interactive user interfaces with lists, cards, and sliders to implementing navigation workflows and screen transitions. It also includes instruction on connecting applications to remote servers to fetch external data and integrating that data into the app flow. T
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
SmoothProgressBar is an Android custom progress bar library designed to render customizable horizontal and circular indeterminate loading indicators. It functions as a reusable UI component and view extension used to display the status of background processes within Android applications. The library provides smooth animations and custom styles to create fluid loading states. It supports both linear and circular formats, allowing for specific colors and styles to match a mobile application's design system.
NumberProgressBar is a customizable Android view library that provides a slim progress indicator. It combines a visual fill level with a numerical value to display completion status within Android applications. The component allows for the attachment of custom prefix and suffix labels to numerical indicators to provide additional context. It supports a range of styling options, including the ability to adjust the colors, height, and text size of the progress tracks to match specific visual designs.