30 open-source projects similar to chadcsong/shinebutton, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best ShineButton alternative.
SkeletonView is an iOS loading skeleton library used to display animated placeholder views that mimic a layout's structure while asynchronous data loads. It functions as a UI placeholder generator and a UIView animation framework to indicate active background processes. The library includes a list view skeleton orchestrator that generates placeholder cells and headers for table and collection views based on data source protocols. It provides tools to simulate text layouts using configurable line counts and spacing to prepare users for the final screen structure. Capability areas cover the co
React particle effect button is an animated disintegration user interface library that renders particle-based visual transitions and interactive disintegrating button animations. The component functions by bursting interactive user interface elements into animated particles upon activation and reintegrating them when reversed, providing visual feedback for user actions. The library captures the visual appearance of wrapped elements into pixel data at runtime to generate corresponding particle color maps. It manages continuous visual updates by synchronising particle physics calculations with
MarqueeView is an Android custom view library used to create scrolling or flipping text announcements and dynamic text tickers. It functions as a specialized interface component for displaying rotating sequences of messages and interactive notification widgets. The library distinguishes itself through the use of dynamic layout inflation to inject custom resource files at runtime. It manages programmatic animation sequencing for entry and exit transitions and utilizes a callback system to map user touch events on visual elements to specific data indices. The project covers broad capabilities
SuperTextView is a custom Android UI component that combines multiple text and image segments into a single view to reduce layout hierarchy depth and improve performance. It functions as an interactive text component and a layout optimization tool, rendering complex compositions on a single canvas. The component features a programmatic styling system for defining borders, corner radii, and fill colors via code rather than static XML drawable files. It also integrates with third-party image loading libraries to fetch and display remote assets directly within its structured layouts. The view u
Transitions Everywhere is an Android view animation library and UI transition framework. It serves as an extension to the Jetpack Transitions library, providing a toolkit for implementing motion and recoloring animations during element transitions. The library enables the creation of custom scale, translation, and rotation effects to manage visual state changes in mobile interfaces. It provides a set of additional animation effects built on top of the Android Jetpack framework to achieve a dynamic visual experience. The framework covers view transition customization and UI motion design, uti
LoadingDrawable is an Android loading drawable library that provides customizable drawable components to indicate background task activity or loading states. It functions as a collection of custom view components and progress indicators that integrate with standard Android views. The library enables the rendering of animated loading indicators for refresh components or image placeholders and tracks loading progress to reflect the completion percentage of time-consuming operations. The implementation covers Android progress visualization and UI design, utilizing canvas-level drawing and drawa
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
BadgeView is a custom UI component for Android that displays numeric or text notification indicators on other view elements. It is built as a Material Design component that functions as an animated and interactive view for signaling alerts or item counts. The component distinguishes itself through support for drag-to-dismiss gestures, allowing users to remove alerts from the screen via touch interactions. It also utilizes smooth visibility animations to transition state changes rather than using immediate shifts. The library covers broad UI capabilities including content management for updat
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.
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
CoordinatorTabLayout is a custom Android user interface component that integrates tabbed navigation with folding headers and paging container synchronization. Built for the native Android view system, it implements Material Design patterns to create immersive screens where header content collapses as the user scrolls. The component synchronizes tab selection events with a paging container to update visible content. It manages the coordination between a tab navigation bar and a folding header, ensuring that scrolling events and page transitions remain aligned. The layout includes capabilities
ChatKit is a library of reusable native Android components and frameworks designed for rendering chat visuals, message threads, and media pickers. It provides a set of pre-built UI elements to facilitate the development of messaging interfaces, including conversation lists and text input fields. The toolkit includes specialized media management capabilities, such as a full-screen image viewer with pinch-to-zoom and swipe-to-dismiss gestures, as well as mechanisms for importing photos and videos from device storage. It also features dynamic selection dialogs that adjust their layout based on t
This is an Android bottom sheet component and modal interface designed to provide a dismissible sliding panel that overlays content from the bottom of the screen. It serves as a replacement for standard dialogs and menus, acting as a foreground view that implements Material Design depth, elevation, and shadow patterns. The project functions as a view animation framework that coordinates real-time scaling and translation of background content as the panel slides. It manages the visual transition between expanded, peeked, and dismissed states through a state machine. The component supports hos
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.
MaterialSearchView is an Android UI component that provides a search interface following Material Design guidelines. It functions as a reusable visual element for implementing search bars and query inputs within mobile applications. The component includes a search suggestion provider to display predefined query options as users type and built-in voice search integration to convert spoken commands into text input. The project covers search interface development and component styling, allowing for the customization of colors and icons to match specific application themes.
CircleProgress is a custom view library for Android that provides reusable UI widgets for rendering circular, donut, or arc-shaped progress indicators. It is designed to help developers visualize task completion status and data progress within native mobile application interfaces. The component allows for the display of custom text labels and inner graphical assets alongside the progress indicator. It functions by manually calculating paths and arcs on a canvas surface, translating progress percentages into geometric angles to ensure accurate positioning within a circular frame. The library
This is an Android folding animation library and Material Design component. It provides a reusable interface element that uses a three-dimensional paper-folding animation to reveal content, allowing users to toggle between a collapsed title and expanded information. The library includes a folding content component with configurable settings for animation duration, background colors, flip counts, and camera depth. It implements these transitions through a custom view that manages the visual state between collapsed and expanded modes. The underlying system utilizes OpenGL ES rendering and matr
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
ParticleEffectForUGUI is a Unity component that renders particle systems directly within the uGUI canvas system, eliminating the need for extra cameras or render textures. It integrates particle effects into the canvas rendering pipeline with full sorting and scaling support, and respects Unity UI Mask and RectMask2D components for proper clipping. The component allows particles to be sorted alongside other UI elements by sibling index for correct visual layering, and supports multiple scaling modes including 3D scaling and automatic scaling that responds to canvas size changes. Particle mate
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
canvas-confetti is an HTML5 canvas animation library and browser particle effect engine designed to render celebratory confetti bursts. It functions as a visual effects tool that transforms SVG paths, emojis, and text into animated particles. The library offloads heavy particle calculations to a web worker to maintain main thread responsiveness and prevent the user interface from lagging. It includes built-in support for operating system reduced motion settings, automatically disabling animations for users with motion sensitivities to ensure accessibility compliance. The system supports conf
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
Two.js is a multi-backend graphics engine and vector drawing library that provides a unified API for creating two-dimensional graphics and animations. It functions as a renderer-agnostic abstraction layer, allowing users to generate vector shapes and paths that can be rendered via SVG, Canvas2D, or WebGL. The engine includes a scene graph manager to organize objects into hierarchical groups, enabling the propagation of collective transformations and parent-child relationships. It also features a headless graphics renderer, providing a node-based implementation for generating 2D drawings in se
Liquid Glass React is a WebGL-powered component library that renders refractive, liquid-like glass effects on React UI elements. It simulates light bending and chromatic aberration through fragment shaders in real-time, creating interactive visual distortions driven by cursor movement and clicks. The library distinguishes itself through a cursor-driven distortion pipeline that translates pointer coordinates into dynamic displacement, blur, saturation, and frost parameters with elastic easing for a liquid-like visual reaction. It supports chromatic dispersion that separates RGB color channels
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.
TextFieldEffects is an iOS library that animates text field borders and labels with smooth transitions between focused and unfocused states. It provides animated visual feedback for text input focus and blur events, extending UIKit text fields with configurable border and label animations, and also offers a reusable SwiftUI component for animated text input styling. The library achieves its visual effects through CALayer-based border animation, constraint-based layout shifting, and UIView animation block wrapping, all coordinated by delegate-based event binding and state-driven focus detectio
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.
Typed.js is a JavaScript typing animation library and DOM text animator used to simulate a user typing and erasing text. It serves as a frontend animation tool for creating dynamic text transitions and visual effects within HTML elements. The library distinguishes itself through the ability to render animated typing sequences directly inside the placeholder attribute of HTML input fields. It also supports reading animation strings from static HTML elements to maintain search engine visibility and accessibility. The tool covers animation control with configurable timing and playback state man
HTextView is an animated text rendering library and UI motion design framework used to create dynamic text effects such as typing and fading. It serves as a text motion engine and typography tool for applying visual transitions and movement to text elements on a screen. The library integrates custom typography support, allowing the loading of external typeface files to apply specific branding and styles to animated presentations. It utilizes a motion engine to animate the scale and opacity of text, facilitating fluid visual transitions. The system manages these effects through a frame-based
dynamics.js is a physics-based JavaScript animation engine designed to create spring and bounce animations. It utilizes the browser animation frame loop to ensure motion is synchronized with the refresh rate. The engine includes tools for animation debugging, allowing users to slow down or freeze active motions to tune parameters. It also features a timing mechanism that executes callbacks synchronized with the animation frame rate to prevent visual stuttering. The project provides a physics solver based on mass, stiffness, and damping constants. Additionally, it includes a utility for apply