Android实战开发--制作圆形头像(简易篇)


前言

  圆形头像的制作方法有很多种,除了去导入别人写好的库,总的来说都很麻烦。特此,有了以下快速制作头像的方法,使用shape绘画,然后覆盖,达到圆形的视觉效果。超级简单易学。还可以制作成其他形状的图片哦~
话不多说,教学开始……


一、实现原理

  打个比方,我们有两张纸片一张黑色正方形纸片,一张白色圆形纸片(大小为正方形外圆大小完全覆盖正方形纸片)。我们在白色纸片上裁剪出一个圆(黑色正方形纸片内圆的大小),然后白色圆形纸片就变成了类似救生圈的圆圈。然后我们将白色圆圈纸片完全覆盖黑色正方形纸片,中间就形成了一个黑色的圆(正方形内圆),多出来的四个边角会被覆盖。这样一个圆形就出来了,其他形状也是同理。


在这里插入图片描述

二、具体实现

1.绘画圆圈框架

  • 在res资源目录的drawable下新建文件xml文件,在新建的时候,在根元素这个选项里输入s会弹出提示,选择shape然后填入文件名即可。

    在这里插入图片描述
  • 文件建好之后我们开始写带边框的圆形。我们只需要添加两个属性即可,一个是圆角属性,一个是描边属性。圆角属性要写的非常非常大,它默认的形状是长方形(长得高)所以加圆角会变成椭圆,我们把圆角它放到正方形里去他就是一个圆了。这样才能变成圆形。描边属性必须要有颜色和描边宽度。这里的颜色取决于你圆形图片所处位置的背景颜色。然后就是宽度,这个宽度是有限制的不能大于50dp,否则中间的圆就会被覆盖掉。为了省去一大堆麻烦就和我保持一致填25dp(或者可以自行研究体会)。

代码如下(示例):

 <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">

    <!--添加圆角度数-->
    <corners android:radius="999999dp"/>
    <!--添加白色边框-->
    <stroke android:color="@color/white" android:width="25dp"/>

</shape>

效果展示:


在这里插入图片描述


2.实战体会

开始表演……

  • 我们需要两个图片控件ImageView,以下图为例ImageView01是最上面一层的控件,而ImageView02是第二层的控件,处于底层(不是最底层哦~最底层是父控件,也就是这整个布局)。然后将两个控件叠在一起,小的一定要中心对齐大的控件,无论你采用的是什么布局方式,都要中心对齐。
    温馨提示:无论是手拖ImageView,还是手写ImageView,第一个写(拖)的处于下层,依次向上叠加。在xml中就是,上面的代码控件处于下层,下面的处于上层。懂我意思吧 0-0

  • 这里要注意控件的宽高不是随便设置的(出了问题我不负责)。我们在之前设置上层圆形框架的时候(此时ImageView01的背景background)将描边宽度设置为25dp,重点来了,这25dp实际上就是ImageView02到ImageView01的距离。由此得公式:

ImageView01的高= ImageView02的高+25dp+25dp
ImageView01的宽 = ImageView02的高+25dp+25dp

示例图:

在这里插入图片描述

  • 以上我们基本完成了圆形头像的基本设置,我们将写好的圆形框架设置到ImageView01的background属性上,将正放心图片赋予ImageView02,就完成了。相信至此已经学会了快速制作圆形上,要是还不会,上源码直接粘吧……0.0……

代码如下(示例):

 <?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:id="@+id/imageView13"
        android:layout_width="100dp"
        android:layout_height="100dp"
        app:layout_constraintBottom_toBottomOf="@+id/imageView14"
        app:layout_constraintEnd_toEndOf="@+id/imageView14"
        app:layout_constraintStart_toStartOf="@+id/imageView14"
        app:layout_constraintTop_toTopOf="@+id/imageView14"
        tools:srcCompat="@tools:sample/avatars" />

    <ImageView
        android:id="@+id/imageView14"
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:background="@drawable/back"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        tools:srcCompat="@tools:sample/avatars" />
    
</androidx.constraintlayout.widget.ConstraintLayout>

三、总结

全剧终……

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
中华字典项目是一个Android实战开发的应用程序,旨在为用户提供方便快捷地查询汉字的功能。 该应用程序的功能主要包括以下几个方面: 1. 汉字查询:用户可以通过输入汉字,快速查询其字义、读音以及常见的组词用法。应用程序通过与后台数据库的交互,实现了快速的查询,用户可以随时随地进行汉字的查询,提高了用户的查询效率。 2. 汉字笔顺查询:用户可以通过输入汉字,查询该汉字的笔画顺序以及笔画的书写方式。应用程序提供了清晰的笔画图示,并配有文字说明,帮助用户正确书写汉字。 3. 汉字造字规律查询:用户可以通过输入汉字,查询该汉字的造字规律。应用程序通过对大量的汉字进行分析,提供了汉字的起源、演变以及构造规律的解读,让用户更加深入地了解汉字的形成过程。 4. 常用词汇查询:用户可以通过输入拼音或者汉字,查询常用词汇的意思和用法。应用程序提供了大量的常用词汇,包括生活、工作、学习等方面的词汇,帮助用户扩展词汇量,提高语言表达能力。 该应用程序的界面简洁明了,操作方便,用户可以根据需要自主选择查询功能。同时,该应用程序还支持收藏功能,用户可以将常用的查询结果收藏起来,方便快速查阅。 总之,中华字典项目是一个功能丰富、实用性强的Android应用程序,为用户提供了便捷、全面的汉字查询功能,帮助用户更好地了解和掌握汉字。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微冷i1104

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值