一、介绍
CircleImageView是一个自定义的圆形ImageView,一般用于app中用户图像的显示。
二、使用
使用CircleImageView时,除了控件的一般属性之外,还需要加入自定义属性。因为自定义CircleImageView控件时,需要使用这些属性。另外,给CircleImageView设置图片时,使用xml文件中使用src属性,代码中使用setImage开头的方法。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<com.ophouse.circleimageview.CircleImageView
android:layout_width="160dp"
android:layout_height="160dp"
android:layout_centerInParent="true"
android:src="@drawable/ic_launcher"
app:civ_border_color="@android:color/background_light"
app:civ_border_width="2dp" />
</RelativeLayout>
CircleImageView可以导入GitHub上提供的类库,也可以直接将CircleImageView.java文件拷入自己的项目中。上述代码中是将CircleImageView.java文件拷入自己的项目中使用的。
文件拷入项目之后,会因为R文件的关系报错,直接将报错的地方删除即可。另外,因为自定义CircleImageView控件时,使用到了自定义属性,所以还需要将类库中的values文件夹下的attrs.xml文件拷入项目中,或者自己在项目中创建attrs.xml文件。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="CircleImageView">
<attr name="civ_border_width" format="dimension" />
<attr name="civ_border_color" format="color" />
<attr name="civ_border_overlay" format="boolean" />
<attr name="civ_fill_color" format="color" />
</declare-styleable>
</resources>
civ_border_width 对应的值表示圆形图片最外层边界线的宽度
civ_border_color 对应的值表示圆形图片最外层边界线的颜色
civ_border_overlay 对应的值表示图形是否占满整个控件,即是否包括边界线部分
civ_fill_color 对应的值表示圆形图片背景颜色