(1)指定圆角大小及边框样式 (2)分别指定4个圆角的大小及边框样式 ImageView 设置圆角及外边框样式 我们通常可以通过以下几种方式来实现: 通过图片加载库,比如 Glide 或 Fresco 设置图片转换规则来剪裁 bitmap 实现圆角,通过绘制圆角矩形边框来实现外边框样式; 通过自定义的父布局包裹 ImageView,在父布局中设置指定的...
其实圆角图片的加载有两种思路,一种是加载的过程中对Bitmap做裁剪,另一种是Bitmap没有裁剪,但是对ImageView显示的时候做裁剪。 例如第一种思路,我们使用Glide图片加载库来处理圆角。 例如第二种思路,我们常用RoundImageView之类的自定义View来实现。 而第二种思路又有不同的方案实现,兼容性和目标性也不一致,如果你...
CardView为Android系统自带控件,使用CardView包裹ImageView也可以实现圆角效果,需要注意的是,CardView有可能会影响到控件层级,可以通过设置app:cardElevation="0dp"避免该问题: <androidx.cardview.widget.CardViewandroid:layout_width="120dp"android:layout_height="120dp"android:layout_centerHorizontal="true"android:layo...
Step1:继承ImageView public class XfermodeRoundImageView extends ImageView 1. Step2:自定义属性 我这边是在上一篇的基础上写的,所以,自定义的属性是在attrs.xml的基础加了一个属性 <?xml version="1.0" encoding="utf-8"?> <resources> <attr name="borderRadius" format="dimension" /> ...
使用xml文件设置圆角属性: 在res/drawable文件夹下创建一个xml文件,例如rounded_image.xml,并添加以下代码: <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#FFFFFF" /> <corners android:radius="20dp" /> </shape> 复制代码 然后在布局文件中的ImageView中...
1)、给ImageViewPlus加上set接口,设置完成之后通过 invalidate(); 重绘一下即可; 2)、在xml里就支持配置一些自定义属性,这样用起来会方便很多。 这里重点说一下支持xml配置自定义属性。 自定义控件要支持xml配置自定义属性的话,首先需要在 \res\values 里去定义属性: ...
1、自己定义两个属性来设置圆角的弧度。以及当前是否画纯圆。 2、设置Xfermode属性为SrcIn 。 就这简单两步圆角ImageView就实现了,接下来直接上代码。 import wu.han.himan_library.R; import android.content.Context; import android.content.res.TypedArray; ...
android中的ImageView只能显示矩形的图片,这样一来不能满足我们其他的需求,比如要显示圆形的图片,这个时候,我们就需要自定义ImageView了,其原理就是首先获取到图片的Bitmap,然后进行裁剪圆形的bitmap,然后在onDraw()进行绘制圆形图片输出。 核心代码: /*** 获取圆角位图的方法 ...
(1)调用setImageDrawable:setImageResource...这几个设置图片的方法,在这几个方法中就能拿到ImageView中的bitmap或者resourceId,或者地址反正在这儿能得到你设置的图片 (2)调用构造方法:我们需要自定义属性,都需要在这儿先关联attr.xml文件,并且拿到布局文件中我们设置的属性值,在后面绘制的时候用。需要注意的是在这儿...