Android CircleImageView圆形ImageView

CircleImageView是github上一个第三方开源的实现圆形ImageView的项目。
其在github上的项目主页是:https://github.com/hdodenhof/CircleImageView
实现的结果如图:

重点说一说CircleImageView和附录文章1的异同,在开发中如何在特定情况下该选择何种技术实现方案。
(一)附录1的RoundedBitmapDrawable是谷歌官方的圆形实现,RoundedBitmapDrawable的最大特点是可以正在上层Java代码中灵活定制如边角弧度、圆角矩形、把一个矩形处理成圆形图、椭圆形图等等,但是RoundedBitmapDrawable没有提供直接定义边框的功能,比如,就像上图中的圆形图,边缘部分要加一定厚度的外层边框线,则RoundedBitmapDrawable无法直接实现。
(二)有些开发情况中,不一定非要把设置、实现圆形图的代码全部放在上层Java代码中写,而只是想写在xml布局文件中,那么RoundedBitmapDrawable就没法直接在xml布局文件中写,而CircleImageView则直接可以在xml中灵活定义边框线厚度、颜色等等。
(三)CircleImageView顾名思义,专业处理圆形图,CircleImageView不像RoundedBitmapDrawable那样还可以制作圆角矩形、椭圆图等等。

总结:
(一)假设如果仅仅只是在上层Java代码中设置一个圆形图(比如常见的开发场景中设置圆形用户头像),那么此时在xml布局中先写好一个ImageView,然后上层Java代码从服务器读取一个头像的byte字节,转化为Bitmap,然后通过RoundedBitmapDrawable处理成圆形drawable设置到ImageView中,那么这种开发场景就可以简单的使用RoundedBitmapDrawable。
(二)如果对图像的UI设计要求变得复杂,比如加边框、边线厚度、边线颜色等等都要有,且不同的圆图要有一定的遮盖等等,那这种情况下就不再合适用RoundedBitmapDrawable,而比较适合用CircleImageView。

附录:
1,《Android RoundedBitmapDrawable:Android官方的圆角图形图象实现方案》链接:http://blog.csdn.net/zhangphil/article/details/51829650
2,《Android圆形头像图Circle ImageView》链接:http://blog.csdn.net/zhangphil/article/details/44960551
3,《Android CustomShapeImageView对图片进行各种样式裁剪:圆形、星形、心形、花瓣形等》链接:http://blog.csdn.net/zhangphil/article/details/50119921

Android CircleImageView圆形ImageView的更多相关文章

  1. [转]android 自定义圆形imageview控件

      android布局 首先,定义定义圆形Imageview类: import android.content.Context; import android.graphics.Bitmap; imp ...

  2. Android开发圆形ImageView实现

    效果图如下 1.自定义属性,在value文件夹下新建attrs文件,声明如下属性 <declare-styleable name="CircleImageView"> ...

  3. Android学习笔记-绘制圆形ImageView实例

    现在很多的APP都很喜欢圆形的头像,这里就简单的写个圆形的ImageView~ 第三方圆形ImageView控件: RoundedImageView CircleImageView 实现代码: 自定义 ...

  4. Android 自定义圆形图片 CircleImageView

    1.效果预览 1.1.布局中写自定义圆形图片的路径即可 1.2.然后看一看图片效果 1.3.原图是这样的 @mipmap/ic_launcher 2.使用过程 2.1.CircleImageView源 ...

  5. Android布局自定义Shap圆形ImageView,可以单独设置背景与图片

    一.图片预览:                  一.实现功能: 需求要实现布局中为圆形图片,图片背景与图标分开且合并到一个ImageView. 二.具体实现: XML中布局中定义ImageView, ...

  6. Android 自定义View修炼-Android实现圆形、圆角和椭圆自定义图片View(使用BitmapShader图形渲染方法)

    一.概述 Android实现圆角矩形,圆形或者椭圆等图形,一般主要是个自定义View加上使用Xfermode实现的.实现圆角图片的方法其实不少,常见的就是利用Xfermode,Shader.本文直接继 ...

  7. 自定义圆形imageview

    import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapShader ...

  8. Android学习笔记-ImageView(图像视图)

    本节引言: 本节介绍的UI基础控件是:ImageView(图像视图),见名知意,就是用来显示图像的一个View或者说控件! 官方API:ImageView;本节讲解的内容如下: ImageView的s ...

  9. Android Studio 之 ImageView 学习笔记

    •参考资料 [1]:菜鸟教程 [2]:bilibili视频教程 •src和blackground的区别 background通常指的都是背景,而src指的是内容 当使用 src 填入图片时,是按照图片 ...

随机推荐

  1. 【C#】.net 发送get/post请求

    基础学习 /// <summary> /// Http (GET/POST) /// </summary> /// <param name="url" ...

  2. html语法第 -2

    1 <html> 2 <head> 3 <title>这是第一节课网页标题</title> 4 <meta charset="UTF-8 ...

  3. RxJava尝试取代Handler初探

    在之前的一篇文章中,我们探究了RxJava的使用方法,详细请看https://www.cnblogs.com/yanyojun/p/9745675.html 根据扔物线大神的描述,如果用一个词来概括R ...

  4. jsp <%@ include %> 例子

    <%@ include %>:所有代码包含进来之后一起进行处理,最终编译成一个servlet. jsp文件中添加top和bottom.jsp页面 empList.jsp <%@ pa ...

  5. bitcoin 源码解析 - 交易 Transaction

    bitcoin 源码解析 - 交易 Transaction(三) - Script 之前的章节已经比较粗略的解释了在Transaction体系当中的整体运作原理.接下来的章节会对这个体系进行分解,比较 ...

  6. 解决VSCode中使用vetur插件格式化vue文件时,js代码会自动加上冒号和分号

    解决VSCode中使用vetur插件格式化vue文件时,js代码会自动加上冒号和分号 在设置中把"vetur.format.defaultFormatter.js": " ...

  7. CAD交互绘制带颜色宽度的直线(网页版)

    用户可以在CAD控件视区任意位置绘制直线. 主要用到函数说明: _DMxDrawX::DrawLine 绘制一个直线.详细说明如下: 参数 说明 DOUBLE dX1 直线的开始点x坐标 DOUBLE ...

  8. python爬虫---从零开始(四)BeautifulSoup库

    BeautifulSoup是什么? BeautifulSoup是一个网页解析库,相比urllib.Requests要更加灵活和方便,处理高校,支持多种解析器. 利用它不用编写正则表达式即可方便地实现网 ...

  9. centos7下LVM挂载和扩容

    说明:此操作在centos7下进行,如果是centos6发行版,需要注意格式化LV的文件系统类型(centos7.0开始默认文件系统是xfs,centos6是ext4).最后一步写入系统的类型,其中文 ...

  10. 小程序08 小程序访问服务器API

    后台交互 小程序是前端框架,需要和后台交互,本次课程主要介绍网络API. 小程序提供的网络访问API wx.request接口 发起 HTTPS 网络请求. 使用rqeust接口前的工作 1.小程序需 ...