Android之最简单的ImageView加边框方法

通常情况下,如果我们要给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>
原文地址:https://www.cnblogs.com/exmyth/p/4450170.html