RoundedImageView,实现圆形、圆角矩形的注意事项

RoundedImageView是gitHub上面的一个开源组件(https://github.com/vinc3m1/RoundedImageView),实现一些圆形或者圆角矩形是很方便的,

 1 <com.makeramen.roundedimageview.RoundedImageView
 2                 android:id="@+id/iv_hint"
 3                 android:layout_width="@dimen/x36"
 4                 android:layout_height="@dimen/x36"
 5                 android:src="@drawable/icon_no_photo_round"
 6                 android:scaleType="centerCrop"
 7                 app:riv_corner_radius="@dimen/x18"
 8                 app:riv_border_color="@color/white50"
 9                 app:riv_border_width="@dimen/x1"
10                 app:riv_tile_mode="clamp"
11                 app:riv_oval="true"
12                 app:riv_mutate_background="true"
13                 />

其中,riv_corner_radius是指圆角的大小,简单来说,等于宽度一半时,就是圆形了;小于宽度的一半就是圆角矩形了。

这里特别要注意的几点:

1、riv_tile_mode 有三种clamp,repeat,mirror,分别是指缩放、重复、镜像,实现后两种的效果,最后是src的分辨率小于RoundedImageView的分辨率才比较直观显示(如这里121x121---》70x70):

2、src原图与RoundedImageView的比例关系,使用时要注意设置android:scaleType="",一般来说,有fitCenter,centerCrop,CenterInside,fitXY等几种(具体区别可以看http://www.cnblogs.com/chq3272991/p/5710498.html)

如要获得一个圆形,如果src的长宽比为4:3,如果设置fitCenter,把原图按比例扩大或缩小到ImageView的高度,居中显示,那么效果如下:

原图:

显然是得不到一个圆形的,那么试试改成fitXY、center、centerCrop:

这过程也就是说,要先通过scaleType来调整(裁剪)原图,然后再进行切圆角、加边框处理,这里用centerCrop才符合要求。类似的还有很多,大家遇到可以提出来共同探讨下。

时间: 2024-10-13 22:38:26

RoundedImageView,实现圆形、圆角矩形的注意事项的相关文章

iOS 图片设置为圆角矩形,圆形等

有的时候需要将图片现实为圆形 比如头像等 以下面的图片为例 我们按照正常的方式添加后效果如下 UIImageView *userIconImageV=[[UIImageView alloc]initWithFrame:CGRectMake(30, 120, 188, 188)]; [self.view addSubview:userIconImageV]; userIconImageV.image=[UIImage imageNamed:@"icon_girl.jpg"]; 此时需要用

Canvas---Canvas版画图、圆角矩形、圆形、矩形、图形填充、mvc模式重新整合代码版

 使用Canvas实现画图程序.(转载注明出处与作者啊) 本次主要更新了一下功能: 新添加图形:矩形,圆形,圆角矩形 实现了描边颜色与填充颜色的选择 使用类似mvc的模式重新整理了代码. M层: 特殊图形的路径规划代码组成,只包含路径规划,无样式设计. V层:设计样式,调用路径规划代码,实际绘制图案.在这里完成填充.描边. C层:判断选择框内容,调用不同的实际绘制代码 其他:事件处理与辅助计算函数等 不足:感觉代码结构还是不够好,果然是我没用面向对象么? 下面是效果图: 下面是源代码: ①本

android 利用Bitmap获取圆角矩形、圆形图片

1.在很多时候,我们要显示图片资源,需要将他的资源显示为圆角的:示例源码如下: public static Bitmap getRoundedCornerBitmap(Bitmap bitmap,float roundPx){ Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap .getHeight(), Config.ARGB_8888); Canvas canvas = new Canvas(output); final

Android圆角矩形创建工具RoundRect类

用于把普通图片转换为圆角图像的工具类RoundRect类(复制即可使用): import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.

[Android] 给图像添加相框、圆形圆角显示图片、图像合成知识

    前一篇文章讲述了Android触屏setOnTouchListener实现突破缩放.移动.绘制和添加水印,继续我的"随手拍"项目完成给图片添加相框.圆形圆角显示图片和图像合成的功能介绍.希望文章对大家有所帮助. 一. 打开图片和显示assets文件中图片 首先,对XML中activity_main.xml进行布局,通过使用RelativeLayout相对布局完成(XML代码后面附).然后,在Mainctivity.java中public class MainActivity e

Android利用canvas画各种图形(点、直线、弧、圆、椭圆、文字、矩形、多边形、曲线、圆角矩形)

1.首先说一下canvas类: Class OverviewThe Canvas class holds the "draw" calls. To draw something, you need 4 basic components: A Bitmap to hold the pixels, a Canvas to host the draw calls (writing into the bitmap), a drawing primitive (e.g. Rect, Path,

用贝赛尔曲线把图片, 按钮, label 绘成圆 或圆角矩形

//创建圆形遮罩,把用户头像变成圆形 /* *CGPointMake(35, 35)  是绘图的中心点,  如果想把控件居中绘圆, 一般用控件的中心点,   radius 是圆半径   startAngle是圆周 圆的一周就是2*m_pi */ //    UIBezierPath* path = [UIBezierPath bezierPathWithArcCenter:CGPointMake(35, 35) radius:35 startAngle:0 endAngle:2 * M_PI c

Android开发之自定义圆角矩形图片ImageView的实现

android中的ImageView只能显示矩形的图片,这样一来不能满足我们其他的需求,比如要显示圆角矩形的图片,这个时候,我们就需要自定义ImageView了,其原理就是首先获取到图片的Bitmap,然后进行裁剪对应的圆角矩形的bitmap,然后在onDraw()进行绘制圆角矩形图片输出. 效果图如下: 自定义的圆形的ImageView类的实现代码如下: package com.xc.xcskin.view; import android.content.Context; import and

[Android] 给图像加入相框、圆形圆角显示图片、图像合成知识

    前一篇文章讲述了Android触屏setOnTouchListener实现突破缩放.移动.绘制和加入水印,继续我的"随手拍"项目完毕给图片加入相框.圆形圆角显示图片和图像合成的功能介绍.希望文章对大家有所帮助. 一. 打开图片和显示assets文件里图片 首先,对XML中activity_main.xml进行布局,通过使用RelativeLayout相对布局完毕(XML代码后面附).然后,在Mainctivity.java中public class MainActivity e