CustomShapeImageView是Android开发的第三方类库,具有不限于圆形ImageView的多种形状ImageView,项目开发必备
github下载地址:https://github.com/MostafaGazar/CustomShapeImageView
1、首先源码中有一个第三方类库 :library
先要把Library导入到项目中,
如果你会导入季,直接跳过
关于Eclipse 和 IDEA 导入library库文件 的步骤
这里我们以PullToRefresh(上拉刷新下拉加载)组件的library为例
下载地址:
https://github.com/chrisbanes/Android-PullToRefresh
现在我们需要把library文件夹导入到Eclipse或者IDEA中去
一、IDEA 导入library库文件步骤
1、首先我们要有一个项目,没有的就创建一个吧
2、右击项目名称点击Open Module Settings(F4)
3、可以看到这样的界面
接下来在中间部分 点击绿色的加号 导入Module
找到要导入的library类库的目录
点击OK 后,,新的界面选择 第一个选项 Create module from existing
sources,然后下一步知道import操作完成
4、然后就可以看到这样的界面,中间界面 多了一个library文件夹
5、接着点击最右边界面的绿色加号按钮 选择第三个Module
Dependency,注意中间部分要选择你要导入library库文件的目录,即此时在中间界面选中demo文件夹,在按绿色按钮添加
6、可以看到有library文件夹可以选择 选择OK就行了 然后OK 结束设置
7、这是就可以看到你的项目里多了一个library文件夹
打开library文件夹可以看到文件夹内容都在,
8、我们在主Activity中添加一个library 提供的类检查是否导入成功,不报错可导入成功
二、Eclipse 导入library库文件步骤
1、导入
2、选择 Android/Existing Android Code Into Workspace
3、选择library文件夹目录 ,记得选中 Copy projects into workspace
4、可以看到项目目录多了library
5、右键library 选择properties (在最下面)
点击is Library --》ok
6、然后右击要导入library库文件的的项目 选择properties 添加Add 选择要导入的library文件夹
7、然后使用library库文件提供的类检测是否导入正确 (注意项目和library库文件需要在同一个目录下,即同一个工作空间)
继续讲解CustomShapeImageView类库
2、源码中res文件夹下有一个raw文件夹 复制到自己的项目中(选择性复制,是一些特殊的图形)
可以看到这里有一堆.svg格式的文件。
SVG可以算是目前最最火热的图片文件格式,这里作者已经给我们写好了几个特殊的图形
如果想要自定义更多形状的话,可以学习下SVG
1、shape_5.svg 五边形
2、shape_circle_2.svg 贝壳形
3、shape_flower.svg 花形
4、shape_heart.svg 心形
5、shape_star 星形1
6、shape_star 星形2
7、shape_star 星形3
3、接下来就是使用了
如果我们使用raw文件夹下的svg写的形状作为ImageView的形状
则:这里一个app:svg_raw_resource="@raw/shape_star_3" 这里就是指定图片形状为res/raw文件夹下的哪一个
<com.meg7.widget.SvgImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/hydrangeas"
app:svg_raw_resource="@raw/shape_star_3"
android:scaleType="centerCrop" />
重点来了:
实际开发,最常用的莫过于圆形图片了,那么上面几个都是特殊图形,要使用圆形ImageView怎么办?
看类库,几个源码
BaseImageView.java 是基本类
而CircleImageView.java类则是继承BaseImageView.java的类,用于圆形ImageView
使用: 这个就简单了,和普通ImageView一样使用,标签变了而已
android:layout_width="100dp"
android:layout_height="100dp"
android:src="@drawable/hydrangeas"
android:scaleType="centerCrop" />
长方形ImageView :RectangleImageView.java
android:layout_width="100dp"
android:layout_height="100dp"
android:src="@drawable/hydrangeas"
android:scaleType="centerCrop" />
以上便是主要需要的部分了。
源码中CustomShapeImageView.java看了下源码是默认显示圆形图片的ImageView,里面有圆形,方形,自定义形,看情况使用了,个人感觉,以上的几个使用起来就足够了。