如何更改 Xamarin 表单的高度 ProgressBar
在代码中?我正在使用 Xamarin Forms V2.1。.HeightRequest
和 .MinimumHeightRequest
好像没有效果。默认进度条非常细,甚至可能不会被注意到。.BackgroundColor
似乎也不起作用。
我在这里缺少什么?
最佳答案
为此,您需要自定义渲染器:
首先为您的自定义进度条创建一个类:
public class CustomProgressBar :ProgressBar
{
public CustomProgressBar()
{
}
}
然后还为您的自定义进度条渲染器添加一个新文件:
对于 iOS:
public class CustomProgressBarRenderer : ProgressBarRenderer
{
protected override void OnElementChanged(
ElementChangedEventArgs<Xamarin.Forms.ProgressBar> e)
{
base.OnElementChanged(e);
Control.ProgressTintColor = Color.FromRgb(182, 231, 233).ToUIColor();// This changes the color of the progress
}
public override void LayoutSubviews()
{
base.LayoutSubviews();
var X = 1.0f;
var Y = 10.0f; // This changes the height
CGAffineTransform transform = CGAffineTransform.MakeScale(X, Y);
Control.Transform = transform;
}
}
[编辑:根据评论固定上面的代码]
对于安卓:
public class CustomProgressBarRenderer :ProgressBarRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<Xamarin.Forms.ProgressBar> e)
{
base.OnElementChanged(e);
Control.ProgressTintList = Android.Content.Res.ColorStateList.ValueOf(Color.FromRgb(182, 231, 233).ToAndroid()); //Change the color
Control.ScaleY = 10; //Changes the height
}
}
我希望这可以帮助你!
关于xamarin - 如何更改 Xamarin Forms 中进度条的高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36660605/