android实现圆形头像的方法有很多种,今天,我就来介绍一下直接通过style,shape来实现圆角头像
实现前:
实现后:
接下来,我们来看看如何实现
- 在drawable下新建一个xml文件,circle_images.xml,内容如下
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- 图层1(oval) -->
<!-- left,top,right,bottom定义为-10,是为了扩大oval,达到覆盖四角的效果 -->
<item android:left="-10dp" android:top="-10dp" android:right="-10dp" android:bottom="-10dp">
<shape
android:shape="oval">
<!-- oval_inner[内部] -->
<solid android:color="#F00" />
<!-- oval_outer[边线] ,使用时改成父控件颜色即可-->
<stroke
android:width="10dp"
android:color="#fafafa" /><!--这里与头像后背景色一致-->
<!-- oval_inner_size[大小(除去边线)] ,也是最终裸露出来的圆形图像区域-->
<size
android:height="50dp"
android:width="50dp" />
<!-- 使oval_inner透明,裸露出将来设置的背景图片 -->
<gradient android:centerColor="#0000" />
</shape>
</item>
</layer-list>
- 之后,直接在布局文件下引用即可,如下
<ImageView
android:id="@+id/imageView"
android:layout_width="100dp"
android:layout_height="100dp"
android:background="@drawable/login"
android:src="@drawable/circle_images"
/>
注意,这里background中放的为头像的图片,而src中引用的是刚刚写的xml文件,顺序不能倒过来,否则显示效果不同