How to make a progress bar with rounded corners in Xamarin Forms using Custom Renderer

后端 未结 1 1722
滥情空心
滥情空心 2020-12-17 05:13

I want to display progress bar with rounded corners in Xamarin forms. I was able to do it in iOS using a custom renderer:



        
1条回答
  •  心在旅途
    2020-12-17 05:41

    How to make a progress bar with rounded corners in Xamarin forms

    You could add a Drawable on your android ProgressBar to implement this feature.

    Set the style for your ProgressBar , Drawable\bar_color.xml :

    
        
        
    
        
        
            
        
    
    
    

    Drawable\progress_bar_background.xml :

    
        
        
    
    

    Drawable\shape_progressbar_progress.xml :

    
       
       
       
    
    

    Using it in your CustomProgressBarRenderer :

    public class CustomProgressBarRenderer : ProgressBarRenderer
    {
        protected override void OnElementChanged(ElementChangedEventArgs e)
        {
            base.OnElementChanged(e);
    
            if(Control != null)
            {
                var progressBar = Control as Android.Widget.ProgressBar;
                //below is now deprecated
                //var draw = Resources.GetDrawable(Resource.Drawable.bar_color);
                var draw = Context.GetDrawable(Resource.Drawable.bar_color);
                progressBar.ProgressDrawable = draw;
            }
        }
    }
    

    Effect :

    0 讨论(0)
提交回复
热议问题