From 17fdde66d94155fc62a034fa6658995bef6fd6e5 Mon Sep 17 00:00:00 2001 From: Jason Smith Date: Tue, 22 Mar 2016 13:02:25 -0700 Subject: Initial import --- .../Renderers/ProgressBarRenderer.cs | 40 ++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 Xamarin.Forms.Platform.Android/Renderers/ProgressBarRenderer.cs (limited to 'Xamarin.Forms.Platform.Android/Renderers/ProgressBarRenderer.cs') diff --git a/Xamarin.Forms.Platform.Android/Renderers/ProgressBarRenderer.cs b/Xamarin.Forms.Platform.Android/Renderers/ProgressBarRenderer.cs new file mode 100644 index 00000000..865732f7 --- /dev/null +++ b/Xamarin.Forms.Platform.Android/Renderers/ProgressBarRenderer.cs @@ -0,0 +1,40 @@ +using System.ComponentModel; +using AProgressBar = Android.Widget.ProgressBar; + +namespace Xamarin.Forms.Platform.Android +{ + public class ProgressBarRenderer : ViewRenderer + { + public ProgressBarRenderer() + { + AutoPackage = false; + } + + protected override void OnElementChanged(ElementChangedEventArgs e) + { + base.OnElementChanged(e); + + if (e.OldElement == null) + { + var progressBar = new AProgressBar(Context, null, global::Android.Resource.Attribute.ProgressBarStyleHorizontal) { Indeterminate = false, Max = 10000 }; + + SetNativeControl(progressBar); + } + + UpdateProgress(); + } + + protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e) + { + base.OnElementPropertyChanged(sender, e); + + if (e.PropertyName == ProgressBar.ProgressProperty.PropertyName) + UpdateProgress(); + } + + void UpdateProgress() + { + Control.Progress = (int)(Element.Progress * 10000); + } + } +} \ No newline at end of file -- cgit v1.2.3