【问题标题】:Xamarin Forms Custom progress bar blurredXamarin Forms 自定义进度条模糊
【发布时间】:2019-08-31 22:15:49
【问题描述】:

我正在使用自定义渲染器来自定义进度条的高度和颜色,但进度条变得模糊:

我的 CustomRenderer 如下所示:

public class ColorProgressBarRenderer : ProgressBarRenderer
{
    public ColorProgressBarRenderer(Context context) : base(context)
    {
    }

    protected override void OnElementChanged(ElementChangedEventArgs<Xamarin.Forms.ProgressBar> e)
    {
        base.OnElementChanged(e);

        if (e.NewElement == null)
        {
            return;
        }

        if (Control != null)
        {
            UpdateBarColor();
        }
    }

    protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
    {
        base.OnElementPropertyChanged(sender, e);

        if (e.PropertyName == ColorProgressBar.BarColorProperty.PropertyName)
        {
            UpdateBarColor();
        }
    }

    private void UpdateBarColor()
    {
        var element = Element as ColorProgressBar;

        Control.ProgressTintList = Android.Content.Res.ColorStateList.ValueOf(element.BarColor.ToAndroid());
        Control.ScaleY = 10f;
    }
}

我的 CustomProgressBar 如下所示:

public class ColorProgressBar : ProgressBar
{
    //public static BindableProperty BarColorProperty = BindableProperty.Create<ColorProgressBar, Color>(p => p.BarColor, default(Color));
    public static BindableProperty BarColorProperty = BindableProperty.Create(nameof(BarColor), typeof(Color), typeof(ColorProgressBar), default(Color));

    public Color BarColor
    {
        get { return (Color)GetValue(BarColorProperty); }
        set { SetValue(BarColorProperty, value); }
    }
}

这只发生在 Android 中,我的 iOS 渲染器一切正常! 为什么会这样?

【问题讨论】:

  • 你能显示你使用CustomProgressBar的axml吗,它没有模糊,但我认为这可能是ScaleY增加高度的结果
  • 你的设备版本是什么?
  • 我想我们永远不会知道...

标签: c# xamarin xamarin.forms xamarin.android


【解决方案1】:

您可以试试这个高级进度条。 https://www.nuget.org/packages/MultiColor.ProgressBar/ 文档:https://github.com/udayaugustin/ProgressBar/blob/master/README.md

它支持多色。 它具有类似

的属性
  • 身高
  • 宽度
  • 拐角半径等

【讨论】:

    猜你喜欢
    • 2016-09-19
    • 1970-01-01
    • 2017-11-23
    • 2018-12-16
    • 2019-04-06
    • 2016-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多