Android-->如何快速写出属于自己的圆角图片控件
2017-06-08 18:00
369 查看
客官请看图
无处不在的圆角, 到处满天飞开源库, 是时候写一个属于自己的圆角控件了.
原理
通过Canvas强大的clip特性, 你要想什么形状的图片都可以的…class CircleImageView(context: Context, attributeSet: AttributeSet? = null) : AppCompatImageView(context, attributeSet) { val clipPath = Path() val paint: Paint by lazy { Paint(Paint.ANTI_ALIAS_FLAG) } override fun onDraw(canvas: Canvas) { val size = Math.min(measuredHeight - paddingTop - paddingBottom, measuredWidth - paddingLeft - paddingRight) val cx = (paddingLeft + size / 2).toFloat() val cy = (paddingTop + size / 2).toFloat() val cr = (size / 2).toFloat() clipPath.addCircle(cx, cy, cr, Path.Direction.CW) canvas.clipPath(clipPath) super.onDraw(canvas) paint.style = Paint.Style.STROKE paint.color = Color.WHITE canvas.drawCircle(cx, cy, cr, paint)//如果不在外圈绘制一圈圆形的话, 图片的锯齿看起来很丑... } }
写在后面
代码很少, 但是clip的特性, 很好的体现出来了. 你完全使用这个特性, 玩出属于你的浪花.少年, 你缺少的只是动手. just do.
联系作者
请使用QQ扫码加群, 小伙伴们在等着你哦!关注我的公众号, 每天都能一起玩耍哦!
相关文章推荐
- Android系统移植与调试之------->如何修改Android设备的桌面背景图片
- 我的Android进阶之旅------>如何获取Android控件的宽和高
- android两个含有图片的TextView控件如何并列对称水平摆放
- Android 圆角图片控件
- [Android小技巧]如何不用图片创建一个带圆角的按钮
- Android控件 >Gallery 切换图片
- Android是如何在不同屏幕上适配图片的 -- 或控件大小
- Android的一段常用动画效果代码(如何让点击的图片控件加速飞入到指定位置)
- 我的Android进阶之旅------>如何为ListView组件加上快速滑块以及修改快速滑块图像
- 教你如何用Circleimageview十秒钟写出万能视频的Android圆形控件适配器
- android换肤功能中,如何动态获取控件中背景图片的资源id?
- android 如何用代码生成圆角Bitmap图片
- android如何给一个控件或是布局加圆角
- 用1000行代码写出android的图片裁剪控件 - 裁剪框固定,图片可拖动、缩放,支持双击缩放、惯性滑动
- Android是如何在不同屏幕上适配图片的 -- 或控件大小
- Android如何将一张图片裁成圆形/圆角矩形/特殊形状
- Android如何获得圆角图片和带倒影的图片
- android 如何重写imageview 让图片有圆角效果
- android如何设置图片自适应控件大小
- Android-->Android 原生支持圆角图片,圆角ImageView