很多时候我们需要在程序内部为自定义控件添加圆角和阴影。这里我使用了Xamarin.Andoird实现:
1. 使用 ShapeDrawable 设置圆角
2. 使用 SetShadowLayer 设置阴影,但是我们要注意使用的 andoird sdk 版本。关于这个问题,可以阅览: http://stackoverflow.com/questions/17410195/setshadowlayer-android-api-differences
3. 使用 LayerDrawable 设置显示部分以显示阴影效果.
最后,设置自定义控件的背景。
1. 使用 ShapeDrawable 设置圆角
ShapeDrawable backgroudDrawable = new ShapeDrawable(new RoundRectShape(new float[] { 8, 8, 8, 8, 8, 8, 8, 8 }, null, null));
2. 使用 SetShadowLayer 设置阴影,但是我们要注意使用的 andoird sdk 版本。关于这个问题,可以阅览: http://stackoverflow.com/questions/17410195/setshadowlayer-android-api-differences
backgroudDrawable.Paint.AntiAlias = true;
backgroudDrawable.Paint.SetStyle(Paint.Style.Fill);
backgroudDrawable.Paint.Color = Color.White;
backgroudDrawable.Paint.SetShadowLayer(7, 0, 0, Color.Black);
SetLayerType(Android.Views.LayerType.Software, null);
3. 使用 LayerDrawable 设置显示部分以显示阴影效果.
LayerDrawable layerDrawable = new LayerDrawable(new Drawable[] { backgroudDrawable });
layerDrawable.SetLayerInset(0, 7, 7, 7, 7);
SetBackgroundDrawable(layerDrawable);
最后,设置自定义控件的背景。
SetBackgroundDrawable(layerDrawable);
附上我自定义的截图一张:
Xamarin.Android 实现自定义控件圆角与阴影效果
本文介绍了如何在Xamarin.Android中编程实现自定义控件的圆角和阴影效果,通过示例代码展示了具体实现过程,并提供了一张自定义控件的截图作为展示。
8126

被折叠的 条评论
为什么被折叠?



