通常情况下,如果我们要给ImageView加上边框,比如宽为3dp的灰色框,是自己定义一个MyImageView类,继承自ImageView,在其onDraw方法中画canvas。
<?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>