最近在开发一个Android App,用户头像那里需要弄一个圆形的图片,但是
xml 的方式是不可以的, xml 只能改变背景为圆角的,没法改图片本身。
只能通过java代码改,但是java图像处理不太会用啊,网上的教程一看一大堆代码,感觉太难了,不适合本人。
用 Glide 4.x
框架可以做,但是不知道什么原因,我的电脑下载不了 Gilde 4.x
版本,老说没有证书。废话不多说,进入正题:
想要设计圆形的图片,
1、用 PS 做一张正方形,内切一个透明的圆(可以选择加圆形边框),然后将其保存为 .png 的图片
2、在你需要展示圆形图片的地方,添加一个 FrameLayout
布局,将你需要展示的图片(ImageView1)和刚才保存的透明图片(ImageView2)包裹在<FrameLayout> </FrameLayout>
里面,就OK啦!
下面是代码
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp">
<ImageView
android:id="@+id/head"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_gravity="center"
android:scaleType="centerCrop"
android:src="你的图片"/>
<!--透明图片做遮罩实现半圆-->
<ImageView
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_gravity="center"
android:src="刚才保存的图片"/>
</FrameLayout>
亲测有效,给大家看一下效果图吧!
搞完,收工!