首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

几行代码撸一个圆角ImageView

今天项目需要用到一个圆角ImageView,本来已经打开了百度搜索“Android圆角Image...”...由于只是需要实现圆角效果,直接继承ImageView即可,这里为了兼容,选中继承androidx下的AppcompatImageView. 1.自定义属性 简单粗暴,一般来说,我们是需要四个角都是统一半径的圆角...但是不排除万能的PM可能要你明天只要左上圆角和右下圆角,所以四个圆角半径也分别定义一下。...实现方法 实现圆角ImageView基本上有两种思路: 直接操作Canvas, 通过clipPath裁剪,去掉画布的四个直角,剩下的就得到了圆角ImageView, 所以只需要绘制一个圆角矩形的路径即可...优点:不受控件scaleType约束 缺点:需要对drawable进行额外处理,耗时肯定也会高一些 综合实际考虑,实际项目中,基本都会将ImageView的scaleType设为center_crop

97620
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    这才是真正的万能圆角ImageView

    不知道有没有人记得我去年写过一个圆角imageview。不知道的可以先去看看:万能圆角imagview,本文是基于上一篇的内容进行添加以及修改的。不然直接看这篇可能会有点懵。...同事说,不知道怎么搞,于是乎,我把之前写的imageview给过去了。他来了句,你这圆角和fitxy同时设置会有问题啊,我反手就是一个大嘴巴子。我的代码怎么会有问题。于是,拿来一瞧,的确有点问题。...So,我决定对这个imageview进行二次的封装。(当然了,这个问题的最后处理是后台直接给一个圆角imageview)。...实现逻辑 我前面也说过了,上次我们是根据imageview的源码来修改他的编辑区域的,这次,我们照常打开源码,找到园中对scaletype的处理逻辑,代码如下: ? ? ?...我们画圆角和圆的时候是不是忘记去掉了边框的宽度呢?那么我们既然找到了原因就可以找到解决方法了。那我们就直接去掉边框的高度,注意!!圆角和圆的都要处理。

    1.6K90

    Android 自定义上面圆角下面直角的ImageView

    类似于这样的图片: image.png 之前用过RoundImageView,其实就是自定义ImageView。想了一下自己重新画一下图片不就ok了么?再给布局设置一个圆角效果。...好了我们来看一下源码: 1.首先我们自定义RoundImageView继承于ImageView public class RoundedImageView extends ImageView { /...radii数组定义圆角矩形的四个圆角的x,y半径。...,依次为左上角x,y半径、右上角、右下角、左下角 接下来我们就自己画一下imageview 我们给路径添加圆角矩形,将我们定义的圆角半径设置进去,给canvas切割一下画布就可以了。...imageview就画成了上面是圆角,下面是直角了。如果需要图片的四个角为不同的直角圆角,只需要改一下我们的圆角半径值就可以了。

    4.1K40

    ImageView ScaleType 解析

    matrix:不改变原图的大小,从ImageView的左上角开始绘图,原图超过ImageView大小的部分不做显示,裁剪掉。...fitXY:按照ImageView的大小显示,拉伸图片,填满ImageView。 fitCenter:将原图按比例缩放到ImageView的高度或者宽度,居中显示。...fitEnd:将原图按比例缩放到ImageView的高度或者宽度,在ImageView的底部显示 fitStart:将原图按比例缩放到ImageView的高度或者宽度,在ImageView的上部显示...centerCrop:以原图填满ImageView为目的,如果原图size大于ImageView的size,则与center_inside一样,按比例缩小,居中显示在ImageView上。...如果原图size小于ImageView的size,则按比例拉升原图的宽和高,填充ImageView居中显示。

    48010

    ImageView.ScaleType设置图解

    ImageView的Scaletype决定了图片在View上显示时的样子,如进行何种比例的缩放,及显示图片的整体还是部分,等等。 设置的方式包括: 1....或在代码中调用imageView.setScaleType(ImageView.ScaleType.CENTER); 接下来,将对ScaleType的值和对应的显示效果用最直观的方式——真图演示的方法...SetScaleType(ImageView.ScaleType.CENTER); 按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的居中部分显示 2....(ImageView.ScaleType.CENTER_INSIDE); 将图片的内容完整居中显示,通过按比例缩小或原来的size使得图片长/宽等于或小于View的长/宽 4. setScaleType...(ImageView.ScaleType.FIT_CENTER); 把图片按比例扩大/缩小到View的宽度,居中显示 5.

    62520
    领券