转载请标明出处:http://blog.csdn.net/u013015161/article/details/45939685
自己业余开发的一个小程序,需要用圆角矩形的形式来展示图片。圆角矩形,很容易想到用shape样式来实现,但这次需要展示图片,同时图片还是需要可以动态更改的, 所以最好是通过一个圆角矩形的ImageView来实现。一时没什么思路,于是去GitHub上找到一个比较有名的开源库,即RoundedImageView。那就先使用再学习吧。
下载下来,导入eclipse,发现目录格式如下:
将java代码拖到src里, 报错如下:
比较好解决的一个错误是缺少android-support-v4.jar, 这个jar包很好获取,拖到工程即可。另一个错误是缺少com.squareup.picasso.Transformation这样一个类。搜索发现,这是github上的另外一个开源项目picasso。下载之,无法导入eclipse。 去picasso-masterpicassosrcmain目录下查看发现缺少AndroidManifest.xml文件, 于是手动创建之,内容如下:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.squareup.picasso"> </manifest>
之后顺利导入picasso工程,将java代码移到src目录下, 发现一堆错误:
其实这个时候我是有些抓狂的,因为查看这些错误之后,发现基本上全都是类库缺失:org.jetbrains.annotations.TestOnly 和 com.squareup.okhttp。 第一个看名字就觉得关系不大, 第二个更是跟网络相关的。于是决定:不找这些类库了, 出错的文件直接删掉。 删掉之后, 有可能会引起更多的文件报错,没关系,继续删,删到工程没错为止。删文件结果如下:
终于没错了,幸好 我们实际需要的Transformation文件还在。
这个时候剩下的文件也不多了。。。就没有当作 library处理,而是直接把代码拷入RoundedImageView工程。这个时候RoundedImageView工程可能还有一些简单的标红, 根据eclipse的提示就可以解决了。
现在RoundedImageView工程如下:
这个时候已经可以用了。勾选为library,让需要的工程去引用即可。直接在布局文件里使用该空间代码参考如下:
<com.makeramen.roundedimageview.RoundedImageView xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/imageView1" android:src="@drawable/spongebaby" android:layout_height="200dp" android:layout_width="200dp" android:layout_centerInParent="true" android:scaleType="fitCenter" app:riv_corner_radius="30dip" app:riv_border_width="20dip" app:riv_border_color="#333333" app:riv_mutate_background="true" app:riv_tile_mode="repeat" app:riv_oval="true" />
效果:
是不是萌萌的。
本文涉及开源项目地址:
RoundedImageView: https://github.com/vinc3m1/RoundedImageView
picasso: https://github.com/square/picasso