Xamarin.Android 自定义控件圆角与阴影设置 (Programmatically)

来源:互联网 发布:mac 从前往后删除 编辑:程序博客网 时间:2024/06/08 07:30
很多时候我们需要在程序内部为自定义控件添加圆角和阴影。这里我使用了Xamarin.Andoird实现:

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);

附上我自定义的截图一张:


0 0
原创粉丝点击