在AndroidStudio里实现圆角的ImageView有2种方法,一个是在xml文件里面显示,一个是在Activity的Java文件里实现。这里我用的是xml方法。我实现的效果图如下:
代码如下:
在drawable里新建一个Drawable resource file文件,如下所示:
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<!--圆角-->
<corners android:radius="20dp"
android:topLeftRadius="20dp"
android:topRightRadius="20dp"
android:bottomLeftRadius="20dp"
android:bottomRightRadius="20dp" />
<!--描边-->
<stroke android:width="20dp"
android:color="#faf9f9"
android:dashWidth="5dp"
android:dashGap="0dp" />
</shape>
注意,上面描边的width可以设置大一点,这样可以覆盖底层的ImageView的边界。
在XML里的代码如下:
<ImageView
android:id="@+id/showImage_start"
android:layout_width="140dp"
android:layout_height="140dp"
android:layout_centerInParent="true"
android:src="@mipmap/start"
android:scaleType="centerCrop"
/>
<View
android:layout_width="160dp"
android:layout_height="160dp"
android:layout_centerInParent="true"
android:background="@drawable/image_border_start"/>
由上面的代码,可以看到, View控件覆盖了ImageView控件。因为View是透明的,所以我们只要设置View的边界部分不透明。
上面的方法极不优雅,所以不推荐使用。在Java代码里实现自定义的圆角ImageView这是十分nice的做法。可以参考这篇文章: