Xamarin.Android 自定义控件圆角与阴影设置 (Programmatically)
来源:互联网 发布:mac 从前往后删除 编辑:程序博客网 时间:2024/06/08 07:30
很多时候我们需要在程序内部为自定义控件添加圆角和阴影。这里我使用了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);
附上我自定义的截图一张:
0 0
- Xamarin.Android 自定义控件圆角与阴影设置 (Programmatically)
- Xamarin.Android设置控件样式
- 自定义控件(阴影,渐变)
- Android给控件自定义边框和阴影
- 设置uiview圆角与阴影
- 设置button的圆角与 阴影
- Android 给控件设置带阴影背景
- Android之设置控件的阴影
- Swift-UIStoryboard & Xib 实时设置控件圆角、边框、阴影
- xamarin.forms中自定义控件的android实现
- 自定义控件(7)---BlurMaskFilter边界阴影
- Xamarin Android自定义文本框
- Xamarin.Android 自定义 View
- xamarin android自定义spinner
- Xamarin.Android 开发控件显示与隐藏区别
- Android自定义控件——带阴影的ImageView(ShaderImageView)
- Android 字体添加阴影效果 自定义控件也能用!
- xamarin android自定义标题栏(自定义属性、回调事件)
- BZOJ 1914: [Usaco2010 OPen]Triangle Counting 数三角形
- Java网络编程(基于TCP的socket编程)
- 9种排序算法性能之比较之----快速排序
- 软件质量之道:SourceMonitor
- 微软技术图书馆打包下载
- Xamarin.Android 自定义控件圆角与阴影设置 (Programmatically)
- 【安卓】dispatchMessage和sendMessage的区别
- (一)线程管理_1---创建和运行线程
- 微软十五道面试题 答案
- C++重载与Java重载的不同
- ffmpeg和opencv 播放视频文件并显示
- Java网络编程2(基于UDP的socket编程)
- repeater删除按钮的两种实现方法
- An unexpected error has been detected by HotSpot Virtual Machine: