用shape画内圆外方,形成一个圆形头像

PS:很多人都有过这样的经历,想要在自己写的程序里,上传一张随便大小形状的照片在程序里显示都是圆形照片,或者是方形,或者是三角形,但是写代码又非常麻烦,这里就有一个也可以实现一样效果的方法,那就是用layer-list画。

1:新建一个工程,在drawable文件夹下创建一个xml文件,如图:

用shape画内圆外方,形成一个圆形头像用shape画内圆外方,形成一个圆形头像

2:代码如下,里面有解释

<?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[内部] -->
<stroke
android:width="10dp"
android:color="#ffffff" />
<!-- oval_inner_size[大小(除去边线)] ,也是最终裸露出来的圆形图像区域-->
<size
android:height="50dp"
android:width="50dp" />
<!-- 使oval_inner透明,裸露出将来设置的背景图片 -->
<gradient android:centerColor="#0000" />
</shape>
</item> </layer-list>

3:使用方法

<ImageView
android:layout_width="400px"
android:layout_height="400px"
android:src="@drawable/layer1"
android:background="@drawable/img1"/>

用shape画内圆外方,形成一个圆形头像

上一篇:Sql Server——查询(一)


下一篇:css实现接地气的checkbox框