Com.Igniscor.Progressbar — is a cross-platform plugin for Xamarin.Forms (MAUI) that allow you to add progress bars with a wide range of customization options that can be shared across iOS and Android.
Customization controls for Xamarin.Forms have repeatedly become a challenge while the development process. For example, shift attributes or the corner radius can’t be changed. Or if the designer has added gradient everywhere it can be considered even as a shoot in the developer’s foot. At least that is how the situation was in the early days of Xamarin.Forms. But the time doesn’t stay still and with the new releases, Xamarin.Forms have been significantly pumped over and now lots of things can be done out of the box.
But the onion is that not all the controls can do everything that the designer wants. Moreover, it happens both in Xamarin.Forms, Xamarin Native, and Native code as well. Microsoft documentation provides us only with 2 properties for modification (percent and color), but this is not always (almost never) enough.
After investigating the list of available components in the open-source, we quickly realize that none of them completely suits us. After that, we made a decision to write our own control on SkiaSharp which will fully meet our wishes and requests.
Setup
Available on NuGet: https://www.nuget.org/packages/Com.Igniscor.Progressbar/
Install into your cross-platform project.
Documentation of package here.
<progressBars:DetailedProgressBar
Orientation="Horizontal"
PercentageValue="{Binding PercentageValue}"
OuterCornerRadius="{Binding OuterCornerRadius}"
InnerCornerRadius="{Binding InnerCornerRadius}"
FontSize="{Binding FontSize}"
BorderWidth="{Binding BorderWidth}"
BorderColor="{Binding BorderColor}"
FontName="SansitaSwashed-Regular.ttf"
ProgressTextPosition="Attached"
ProgressTextOrientation="Center"
PrimaryTextColor="Black"
SecondaryTextColor="White"
StartProgressColor="#E7FD8C"
EndProgressColor="#91C035"
StartBackgroundColor="#1D00FB"
EndBackgroundColor="#FB0003"
HeightRequest="100"
VerticalOptions="Center" />
List of available properies:
It will make me happy if our plugin will be useful for someone. More details and examples you will find on our website igniscor.com and wiki of package.
By Pavel Chuvak from Igniscor
Comments