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

Posted TMusketeer-刘志通

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用shape画内圆外方,形成一个圆形头像相关的知识,希望对你有一定的参考价值。

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

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

技术分享

以上是关于用shape画内圆外方,形成一个圆形头像的主要内容,如果未能解决你的问题,请参考以下文章

外圆内方与外方内圆的奇妙变换!

如何使用shape来画半圆和画虚线

android 怎么利用shape实现圆形用户头像

UWP 画一个圆形头像

在vb中人如何用 shape控件画圆?

安卓用shape画圆角矩形边框