PS:很多人都有过这样的经历,想要在自己写的程序里,上传一张随便大小形状的照片在程序里显示都是圆形照片,或者是方形,或者是三角形,但是写代码又非常麻烦,这里就有一个也可以实现一样效果的方法,那就是用layer-list画。
1:新建一个工程,在drawable文件夹下创建一个xml文件,如图:
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"/>