awesome-repositories.com
Blog
awesome-repositories.com

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectDespreCum realizăm clasamentulPresăServer MCP
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
dmytrodanylyk avatar

dmytrodanylyk/circular-progress-button

0
View on GitHub↗
5,749 stele·1,168 fork-uri·Java·MIT·1 vizualizaredmytrodanylyk.com/pages/portfolio/circular-progress-button.html↗

Circular Progress Button

This is an Android button widget that morphs into a circular progress indicator during asynchronous operations. The core identity of the project is a custom UI component that transforms a standard button into a loading spinner, then reverts it upon task completion.

The implementation uses canvas-based morphing animation to transition between button and circular progress shapes, with property animation interpolation controlling the transformation over time. A state-driven view hierarchy switches between button and progress indicator layouts based on a finite state machine, while layer-based compositing separates the button background, progress arc, and icon into distinct drawable layers for independent animation control. The asynchronous task lifecycle binding hooks the progress animation start and completion to the lifecycle of a background thread.

The project provides a single primary capability: morphing a button into a progress indicator during an ongoing operation. The documentation covers the custom view drawing override and the overall animation system.

Features

  • Morphing Progress Buttons - Transforms a standard button into a circular loading spinner that shows an ongoing operation's progress.
  • Async Task Lifecycle Bindings - Hooks progress animation start and completion to the lifecycle of background threads or AsyncTasks.
  • Android Property Animators - Uses Android's ValueAnimator and ObjectAnimator to drive smooth, configurable property transitions on views.
  • Morphing Shape Animations - Animates the transition between button and circular progress shapes by drawing directly on a hardware-accelerated canvas.
  • Custom View Rendering - Overrides standard Android view measurement and drawing methods to implement custom rendering logic.
  • Circular Progress Indicators - Transforms a standard button into a circular progress animation while an asynchronous task runs, then reverts it upon completion.
  • UI Component Layer Compositing - Separates the button background, progress arc, and icon into distinct drawable layers for independent animation control.
  • View Hierarchy State Machines - Switches between button and progress indicator layouts based on a finite state machine controlling visibility and animation.
  • Buttons and Inputs - Button with integrated progress indicator.
  • Progress Indicators - Button that transitions into a circular progress indicator.

Istoric stele

Graficul istoricului de stele pentru dmytrodanylyk/circular-progress-buttonGraficul istoricului de stele pentru dmytrodanylyk/circular-progress-button

Căutare AI

Explorează mai multe repository-uri excelente

Descrie ce ai nevoie în limbaj simplu — AI-ul sortează mii de proiecte open source selectate în funcție de relevanță.

Start searching with AI

Întrebări frecvente

Ce face dmytrodanylyk/circular-progress-button?

This is an Android button widget that morphs into a circular progress indicator during asynchronous operations. The core identity of the project is a custom UI component that transforms a standard button into a loading spinner, then reverts it upon task completion.

Care sunt principalele funcționalități ale dmytrodanylyk/circular-progress-button?

Principalele funcționalități ale dmytrodanylyk/circular-progress-button sunt: Morphing Progress Buttons, Async Task Lifecycle Bindings, Android Property Animators, Morphing Shape Animations, Custom View Rendering, Circular Progress Indicators, UI Component Layer Compositing, View Hierarchy State Machines.

Care sunt câteva alternative open-source pentru dmytrodanylyk/circular-progress-button?

Alternativele open-source pentru dmytrodanylyk/circular-progress-button includ: ybq/android-spinkit — Android-SpinKit is an Android animation library that provides a collection of animated loading spinner views for use… lzyzsd/circleprogress — CircleProgress is a custom view library for Android that provides reusable UI widgets for rendering circular, donut,… castorflex/smoothprogressbar — SmoothProgressBar is an Android custom progress bar library designed to render customizable horizontal and circular… mikepenz/materialdrawer — MaterialDrawer is a navigation drawer library and side menu framework for Android applications. It provides a Material… hdodenhof/circleimageview — CircleImageView is a custom Android UI component that renders rectangular images as perfect circles with smooth… ongakuer/circleindicator — CircleIndicator is a custom Android UI component that functions as a circular page progress indicator. It provides a…

Alternative open-source pentru Circular Progress Button

Proiecte open-source similare, clasificate după numărul de funcționalități comune cu Circular Progress Button.
  • ybq/android-spinkitAvatar ybq

    ybq/Android-SpinKit

    8,646Vezi pe GitHub↗

    Android-SpinKit is an Android animation library that provides a collection of animated loading spinner views for use as progress indicators during asynchronous operations. The library offers multiple predefined animation styles, including Circle, Wave, and DoubleBounce, which can be selected and displayed as standard Android View elements within an application's layout. The library distinguishes itself by being built entirely on the Android SDK's drawing and animation APIs, with no external dependencies required. Each spinner type implements a distinct animation state machine using Android's

    Javaandroid-loadinganimationloading
    Vezi pe GitHub↗8,646
  • castorflex/smoothprogressbarAvatar castorflex

    castorflex/SmoothProgressBar

    4,512Vezi pe GitHub↗

    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.

    Java
    Vezi pe GitHub↗4,512
  • lzyzsd/circleprogressAvatar lzyzsd

    lzyzsd/CircleProgress

    3,800Vezi pe GitHub↗

    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

    Java
    Vezi pe GitHub↗3,800
  • hdodenhof/circleimageviewAvatar hdodenhof

    hdodenhof/CircleImageView

    14,500Vezi pe GitHub↗

    CircleImageView is a custom Android UI component that renders rectangular images as perfect circles with smooth antialiased edges. It functions as an extension of the native Android image view, overriding the drawing pipeline to provide specialized circular masking. The component specifically supports the creation of user profile avatars by providing customizable borders, internal padding, and background fill colors. These visual styles can be defined through custom XML attributes during the view initialization process.

    Java
    Vezi pe GitHub↗14,500
Vezi toate cele 30 alternative pentru Circular Progress Button→