Emotiona

不管这个世界多么黑暗,我都要微笑以对!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

一、介绍

    CircleImageView是一个自定义的圆形ImageView,一般用于app中用户图像的显示。

二、使用

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




posted on 2016-03-15 20:41  Emotiona  阅读(386)  评论(0编辑  收藏  举报