通常情况下,如果我们要给ImageView加上边框,比如宽为3dp的灰色框,是自己定义一个MyImageView类,继承自ImageView,在其onDraw方法中画canvas。
还有设置一个带有边框的背景图片的方法。
这里给出一种简单方法,既不需要创建衍生的类,也不需要准备图片。采用xml定义的方式实现。
背景定义xml: bg_border.xml
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#EEEEEE" /> www.2cto.com
<stroke android:width="3dp" android:color="#EEEEEE" />
<corners android:radius="0dp" />
<padding android:left="0dp" android:top="0dp"
android:right="0dp" android:bottom="0dp" />
</shape>
在Imageview定义页面上使用代码:
<ImageView android:id="@+id/iv_thumbnail"
android:layout_height="63dp"
android:layout_width="63dp"
android:background="@drawable/bg_border"
android:padding="3dp"
/>
第二种
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <!-- 设置边框的大小和颜色 --> <stroke android:width="1dp" android:color="@color/black"/> <!-- 设置图形内的颜色,此处为透明色 --> <solid android:color="@android:color/transparent"/> <!-- 定义圆角弧度 圆的话就是半径 --> <corners android:radius="0dp"/> <!-- <corners android:bottomLeftRadius="0dp" android:bottomRightRadius="0dp" android:topLeftRadius="0dp" android:topRightRadius="0dp" /> --> <padding android:left="0dp" android:top="0dp" android:right="0dp" android:bottom="0dp"/> </shape>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <!-- 设置边框的大小和颜色 --> <stroke android:width="3.5dip" android:color="@color/white" /> <!-- 设置图形内的颜色,此处为透明色 --> <solid android:color="@android:color/transparent" /> <!-- 定义圆角弧度 圆的话就是半径 --> <corners android:bottomLeftRadius="75dp" android:bottomRightRadius="75dp" android:topLeftRadius="75dp" android:topRightRadius="75dp" /> </shape>