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

时间:2022-05-06
本文章向大家介绍用shape画内圆外方,形成一个圆形头像,主要内容包括1:新建一个工程,在drawable文件夹下创建一个xml文件,如图:、2:代码如下,里面有解释、3:使用方法、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

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"/>