CircularProgressBar.Maui
1.0.3
dotnet add package CircularProgressBar.Maui --version 1.0.3
NuGet\Install-Package CircularProgressBar.Maui -Version 1.0.3
<PackageReference Include="CircularProgressBar.Maui" Version="1.0.3" />
<PackageVersion Include="CircularProgressBar.Maui" Version="1.0.3" />
<PackageReference Include="CircularProgressBar.Maui" />
paket add CircularProgressBar.Maui --version 1.0.3
#r "nuget: CircularProgressBar.Maui, 1.0.3"
#:package CircularProgressBar.Maui@1.0.3
#addin nuget:?package=CircularProgressBar.Maui&version=1.0.3
#tool nuget:?package=CircularProgressBar.Maui&version=1.0.3
CircularProgressBar.Maui
A customizable double-ring circular progress control for .NET MAUI. It supports independent inner and outer progress values, configurable ring geometry and colors, disabled-state opacity, and clipped content in the center of the rings.
<img width="473" height="770" alt="image" src="https://github.com/user-attachments/assets/71714c0e-e9a5-4d7f-b64d-11f01dc34f9e" />
Features
- Independent inner and outer progress values
- Configurable thickness, spacing, start angle, track color, and progress color
- Disabled-state opacity controlled through the standard
IsEnabledproperty - Arbitrary XAML content centered and clipped to the available inner diameter
- Bindable properties suitable for MVVM applications
- Android, iOS, Mac Catalyst, and Windows support
Installation
Install the package from NuGet:
dotnet add package CircularProgressBar.Maui
No handler registration is required in MauiProgram.cs.
Usage
Add the control namespace to a XAML page and configure the two progress values from 0 to 1:
<ContentPage
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:cpb="clr-namespace:CircularProgressBar.Maui;assembly=CircularProgressBar.Maui"
>
<cpb:CircularProgressBar
InnerProgress="0.75"
OuterProgress="0.35"
RingThickness="30"
RingSpacing="20"
StartAngle="90"
TrackColor="#2F4F4F"
ProgressColor="#00BFFF"
DisabledOpacity="0.2"
>
<VerticalStackLayout HorizontalOptions="Center" VerticalOptions="Center">
<Label Text="Inner Content" FontSize="20" />
<Label Text="75%" FontSize="28" HorizontalTextAlignment="Center" />
</VerticalStackLayout>
</cpb:CircularProgressBar>
</ContentPage>
All configurable values are bindable:
<cpb:CircularProgressBar
InnerProgress="{Binding InnerProgress}"
OuterProgress="{Binding OuterProgress}"
TrackColor="{Binding TrackColor}"
ProgressColor="{Binding ProgressColor}"
IsEnabled="{Binding IsProgressEnabled}"
ContentDiameter="{Binding ContentDiameter, Mode=OneWayToSource}"
/>
Properties
| Property | Type | Default | Description |
|---|---|---|---|
InnerProgress |
float |
0 |
Inner-ring progress, clamped from 0 to 1. |
OuterProgress |
float |
0 |
Outer-ring progress, clamped from 0 to 1. |
RingThickness |
float |
8 |
Stroke thickness of both rings. |
RingSpacing |
float |
4 |
Space between the inner and outer rings. |
StartAngle |
float |
90 |
Progress start angle in degrees. |
TrackColor |
Color |
DarkSlateGrey |
Color of the unfilled tracks. |
ProgressColor |
Color |
DeepSkyBlue |
Color of the progress arcs. |
DisabledOpacity |
float |
0.38 |
Ring opacity when IsEnabled is false. |
ContentDiameter |
float |
Read-only | Diameter available to centered content after drawing. |
Development
dotnet tool restore
dotnet restore CircularProgressBar.Maui.slnx
dotnet build CircularProgressBar.Maui.slnx
See AGENTS.md for repository conventions and contribution guidance.
License
Licensed under the terms in LICENSE.txt.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0-android36.0 is compatible. |
-
net10.0-android36.0
- Microsoft.Maui.Controls (>= 10.0.90)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.