首页
学习
活动
专区
圈层
工具
发布

几行代码撸一个圆角ImageView

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

1.1K20

这才是真正的万能圆角ImageView

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

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

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

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

    4.4K40

    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居中显示。

    69210

    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.

    88020

    Android ImageView 正确使用姿势

    一、正确合理使用ImageView 的src 和background src :为ImageView 原图内容,存放原图大小,不会被拉伸; background:为Imageview的背景,会根据ImageView...二、正确设置Imageview的透明度 设置ImageView的透明度有啥正确不正确的,如直接就mImageView.setAlpha(100),不就行了吗?...图4 ImageView的updateDrawable()方法 现在知道为什么有时候ImageView.setAlpha(int alpha)没起作用了吧。...三、正确设置ImageView的前景(foreground) 有时候设计需要在ImageView 上面覆盖一层(如灰色),面对这样的需求时,要区分是静态的ImageView还是异步的ImageView...(1)静态ImageView (此场景基本很少,设计切图即可) 合理使用src (前景)和background(背景)就可以实现 (2)异步ImageView 此就需要使用ImageView的前景(View

    3.1K80

    【CSS】盒子模型圆角边框 ( 通过设置 border-radius 样式设置圆角矩形圆角半径 )

    文章目录 一、盒子模型圆角边框 二、代码示例 1、代码示例 - 正常矩形边框 2、代码示例 - 圆形边框 3、代码示例 - 圆角矩形边框 4、代码示例 - 综合对比示例 一、盒子模型圆角边框 ---...- 在 CSS3 中 , 新加入了 圆角边框 样式 , 设置 border-radius: length; 属性 , 即可设置 盒子模型 的 圆角边框 ; border-radius 属性值取值 :..., 使用了圆角边框 ; 圆角的按钮 : 下图中 头像 以及 下面的两个 按钮 , 都是圆角边框 ; 二、代码示例 ---- 1、代码示例 - 正常矩形边框 默认情况下的边框 , 是 矩形的边框...的 圆角半径 为 50% 或者 高度/宽度 的一半 , 则该圆角矩形 表现就是一个圆 ; 代码示例 : 圆角矩形 的 圆角半径 为 高度 的一半 , 则该圆角矩形 表现就是一个正常的圆角矩形 , 左右两侧是圆角 ; 代码示例 : <!

    3.3K20

    Android ImageView分析并展开

    版本号:1.0 日期:2014.6.11 2014.6.12 版权:© 2014 kince 转载注明出处 ImageView是开发中经常使用到的一个控件,也能够说是不可缺少的。...还有它的拓展性方面,像圆角图片、圆形图片、图片边框等等。因此,假设想熟练使用这个控件,就须要对事实上现的机制有一个基本的了解。 ImageView也是直接继承于View类。...基本的结构图例如以下: 鉴于篇幅大小,就不copy ImageView的总体代码,选择结构图中的部分作为重点。...接着就是onMeasure()方法了,它用于设置ImageView的大小。...下面解说一下怎样自己定义一个类继承于ImageView。首先以 CircleButton为例,这是github上一个项目,实现一个圆形有点击效果的按钮。

    70430
    领券