如何解决如何使用 Xamarin Forms 制作带有圆角的 ProgressBar
所以我的目标是创建一个带有圆角的 ProgressBar。这似乎比它应该的要困难得多。我曾尝试查看 StackOverflow 上的示例,但其中大多数已经过时,或者指的是 Android Studio,这不是我正在使用的。
据我所知,我需要创建一个叫做“自定义渲染器”的东西,它本质上是一个继承自 ProgressBarRenderer
的类。然后更改那里的大部分属性,这看起来有点傻,因为我认为 UI 应该使用 XAML 完成。
在尝试创建自定义渲染器时,我一直遇到多个问题。
第一个是这个
我已经安装了 Xamarin.Forms,但它仍然不断抛出该错误。
然后还有一个关于构造函数的问题。不带任何参数的构造函数已过时且不再起作用,它需要我添加一个 Context
,但我也不能添加,因为它会引发与上述相同的错误。
如何正确创建一个带有圆角的进度条,中间有文字指示它的百分比是多少?
解决方法
您应该添加适当的引用以使用 ProgressBarRenderer:
using App498.Droid;
using Xamarin.Forms;
using Xamarin.Forms.Platform.Android;
自定义渲染器应如下所示:
[assembly: ExportRenderer(typeof(Xamarin.Forms.ProgressBar),typeof(myProgressBarRenderer))]
namespace App498.Droid
{
public class myProgressBarRenderer : ProgressBarRenderer {
public myProgressBarRenderer(Context context) : base(context)
{
}
protected override void OnElementChanged(ElementChangedEventArgs<Xamarin.Forms.ProgressBar> e)
{
base.OnElementChanged(e);
}
}
}
如果您想为进度条添加圆角,请选中 this thread。
,我会向您推荐 SkiaSharp,图形库,它使您能够创建...一切。 请参阅此处的文档:
https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/graphics/skiasharp/
您需要玩一段时间才能习惯使用它,但它非常直观且易于使用。 要实现圆角,您需要使用路径,如下所述:
碰巧我的应用程序中还需要一个进度条。我已经绘制了一张带有透明线的图片以显示进度,将其与绿色矩形(进度本身)合并,瞧,你有进度条了。当您需要更新进度时,您只需重新绘制进度条即可。
肯定有很多其他解决方案,但我推荐这个解决方案,因为我知道它会很好用。 快乐编码 ;)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。