Android CircleImageView圆形ImageView
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的更多相关文章
- [转]android 自定义圆形imageview控件
android布局 首先,定义定义圆形Imageview类: import android.content.Context; import android.graphics.Bitmap; imp ...
- Android开发圆形ImageView实现
效果图如下 1.自定义属性,在value文件夹下新建attrs文件,声明如下属性 <declare-styleable name="CircleImageView"> ...
- Android学习笔记-绘制圆形ImageView实例
现在很多的APP都很喜欢圆形的头像,这里就简单的写个圆形的ImageView~ 第三方圆形ImageView控件: RoundedImageView CircleImageView 实现代码: 自定义 ...
- Android 自定义圆形图片 CircleImageView
1.效果预览 1.1.布局中写自定义圆形图片的路径即可 1.2.然后看一看图片效果 1.3.原图是这样的 @mipmap/ic_launcher 2.使用过程 2.1.CircleImageView源 ...
- Android布局自定义Shap圆形ImageView,可以单独设置背景与图片
一.图片预览: 一.实现功能: 需求要实现布局中为圆形图片,图片背景与图标分开且合并到一个ImageView. 二.具体实现: XML中布局中定义ImageView, ...
- Android 自定义View修炼-Android实现圆形、圆角和椭圆自定义图片View(使用BitmapShader图形渲染方法)
一.概述 Android实现圆角矩形,圆形或者椭圆等图形,一般主要是个自定义View加上使用Xfermode实现的.实现圆角图片的方法其实不少,常见的就是利用Xfermode,Shader.本文直接继 ...
- 自定义圆形imageview
import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapShader ...
- Android学习笔记-ImageView(图像视图)
本节引言: 本节介绍的UI基础控件是:ImageView(图像视图),见名知意,就是用来显示图像的一个View或者说控件! 官方API:ImageView;本节讲解的内容如下: ImageView的s ...
- Android Studio 之 ImageView 学习笔记
•参考资料 [1]:菜鸟教程 [2]:bilibili视频教程 •src和blackground的区别 background通常指的都是背景,而src指的是内容 当使用 src 填入图片时,是按照图片 ...
随机推荐
- SPRING-BOOT系列之SpringBoot快速入门
今天 , 正式来介绍SpringBoot快速入门 : 可以去如类似 https://docs.spring.io/spring-boot/docs/2.1.0.BUILD-SNAPSHOT/refer ...
- Java开发笔记(九十五)NIO配套的文件工具Files
NIO不但引进了高效的文件通道,而且新增了更加好用的文件工具家族,包括路径组工具Paths.路径工具Path.文件组工具Files.先看路径组工具Paths,该工具提供了静态方法get,输入某个文件的 ...
- ubuntu安装mysql多实例
想要尝试mysql的读写分离,在云上安装完mysql之后突然想到一个问题:我本机是没有公网IP的. 开始尝试在唯一一台云服务器上安装多个mysql实例. 主要步骤: 1.新建MySQL目录 (1):新 ...
- [ AHOI 2013 ] 作业 & [ BZOJ 3809 ] Gty的二逼妹子序列
\(\\\) Description 给出一个长为 \(n\) 的数列 \(A\) 和 \(k\),多次询问: 对于一个区间 \([L_i,R_i]\),问区间内有多少个数在 \([a_i,b_i]\ ...
- 洛谷P4013 数字梯形问题(费用流)
题意 $N$行的矩阵,第一行有$M$个元素,第$i$行有$M + i - 1$个元素 问在三个规则下怎么取使得权值最大 Sol 我只会第一问qwq.. 因为有数量的限制,考虑拆点建图,把每个点拆为$a ...
- canvas基础绘制-倒计时(上)
效果: html: <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
- sql server 收缩日志文件
USE 数据库名称 GO ALTER DATABASE 数据库名称 SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE 数据库名称 SET RECOV ...
- 洛谷 P1030 求先序排列
题目描述 给出一棵二叉树的中序与后序排列.求出它的先序排列.(约定树结点用不同的大写字母表示,长度<=8). 输入输出格式 输入格式: 2行,均为大写字母组成的字符串,表示一棵二叉树的中序与后序 ...
- 李开复:AlphaGo 若打败了世界冠军,意味着什么?
创新工场董事长李开复在知乎就AlphaGo与李世石的人机大战发表了自己看法,他认为四个月前的AlphaGo击败李世石基本不可能,不过这四个月AlphaGo进步很多,比赛应该很精彩.但是,无论这次结果如 ...
- [Python學習筆記] 抓出msg信件檔裡的附件檔案
想要把msg信件檔案的附件抓出來做處理,找到了這個Python 模組 msg-extractor 使用十分容易,但是這個模組是要在terminal裡執行,無法直接打在IDLE的編輯器上 所以稍微做了修 ...