【发布时间】:2021-06-30 15:59:41
【问题描述】:
我正在使用 Xamarin Forms 版本 5.0.0.2012 和 Visual Studio 16.10.2。 我想在 Xamarin Forms Android 应用程序中使用自定义渲染器来获得自定义阴影。当我使用普通框架时,角落是圆的,但我对阴影不满意。当我使用自定义框架时,应用程序将框架角和阴影渲染为矩形(看起来很糟糕)。
[assembly: ExportRenderer(typeof(CustomFrame), typeof(CustomFrameRenderer))]
namespace SimpleApp.Droid.CustomControlRenderers
{
public class CustomFrameRenderer : FrameRenderer
{
Context context;
public CustomFrameRenderer(Context context) : base(context)
{
this.context = context;
}
protected override void OnElementChanged(Xamarin.Forms.Platform.Android.ElementChangedEventArgs<Frame> e)
{
base.OnElementChanged(e);
var element = e.NewElement as CustomFrame;
if (element == null) return;
if (element.HasStrongShadow)
{
Elevation = 50.0f;
var strongShadowColor = Xamarin.Forms.Platform.Android.ColorExtensions.ToAndroid(element.StrongShadowColor);
var lightGrayColor = Android.Graphics.Color.Rgb(206, 208, 210);
SetOutlineSpotShadowColor(lightGrayColor);
SetOutlineAmbientShadowColor(strongShadowColor);
}
}
}
}
HasStrongShadow 是我的自定义属性。 我应该怎么做才能同时使用圆角和自定义渲染器?
【问题讨论】:
标签: xamarin xamarin.forms