Эффект:

у отобразить индикатор выполнения с закругленными углами в формах Xamarin. Я смог сделать это в iOS с помощью пользовательского рендерера:

class CustomProgressBarRenderer: ProgressBarRenderer
{
    protected override void OnElementChanged(ElementChangedEventArgs<Xamarin.Forms.ProgressBar> e)
    {
        base.OnElementChanged(e);
        Control.ProgressTintColor = Color.FromRgb(255, 201, 74).ToUIColor();
    }

    public override void LayoutSubviews()
    {
        base.LayoutSubviews();
        var X = 1.0f;
        var Y = 7.0f;
        CGAffineTransform transform = CGAffineTransform.MakeScale(X, Y);
        this.Transform = transform;
        this.ClipsToBounds = true;
        this.Layer.MasksToBounds = true;
        this.Layer.CornerRadius = 5; // This is for rounded corners.
    }
}

Как я могу добиться того же в Android? Вот как я хочу, чтобы индикатор выполнения (закругленные углы) выглядел.

 Debasish27 сент. 2017 г., 14:40
Я добавил изображение в свое оригинальное сообщение @ YorkShen-MSFT
 York Shen27 сент. 2017 г., 13:01
Не могли бы вы опубликовать изображение при использовании этогоprogress bar вiOSЯ знаю только эффект, я могу понять, что вы хотите.

Ответы на вопрос(1)

Вы можете добавитьDrawable на вашем андроидеProgressBar реализовать эту функцию.

Установите стиль для вашегоProgressBar , Drawable \ bar_color.xml :

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <!--set progressbar backgound style-->
    <item
        android:id="@android:id/background"
        android:drawable="@drawable/progress_bar_background" />

    <!--set progressbar schedule style-->
    <item android:id="@android:id/progress">
        <scale
            android:drawable="@drawable/shape_progressbar_progress"
            android:scaleWidth="100%" />
    </item>

</layer-list>

Drawable \ progress_bar_background.xml :

<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <corners android:radius="20dp" />
    <solid android:color="#FFCBC2C2" />
</shape>

Drawable \ shape_progressbar_progress.xml :

<corners android:radius="20dp" />
   <solid android:color="#3F8CC4" />
   <stroke
       android:width="0dp"
       android:color="#FFFFFF"></stroke>
</shape>

Используя это в вашемCustomProgressBarRenderer :

public class CustomProgressBarRenderer : ProgressBarRenderer
{
    protected override void OnElementChanged(ElementChangedEventArgs<Xamarin.Forms.ProgressBar> e)
    {
        base.OnElementChanged(e);

        if(Control != null)
        {
            var progressBar = Control as Android.Widget.ProgressBar;
            var draw = Resources.GetDrawable(Resource.Drawable.bar_color);
            progressBar.ProgressDrawable = draw;
        }
    }
}

Эффект:

Ваш ответ на вопрос