多方法圆形头像布局实现

时间:2021-08-05 09:24:35

多方法圆形头像布局实现
大概就是这个实现效果,以前都是用CircleImageView实现的,发现,CardView也可以实现这个功能,然后其他的图片加载框架picasso和Glide也可以实现这个功能,这次先只写前两个,用框架加载的在picasso和Glide的相关博客中进行介绍


方法一
CircleImageView
github的项目地址

public class CardView extends FrameLayout 

在项目中引用

dependencies {
...
compile 'de.hdodenhof:circleimageview:2.1.0'
}

布局文件

<de.hdodenhof.circleimageview.CircleImageView
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/profile_image"
android:layout_width="96dp"
android:layout_height="96dp"
android:src="@drawable/profile"
app:civ_border_width="2dp"
app:civ_border_color="#FF00cacb"/>

可以控制圆形颜色

 app:civ_border_color="#FF00cacb"

多方法圆形头像布局实现


方法二
cardView
引入

compile 'com.android.support:cardview-v7:25.0.+'
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_second"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
tools:context="com.axnet.circleview.SecondActivity">

<android.support.v7.widget.CardView
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
card_view:cardBackgroundColor="@android:color/white"
card_view:cardCornerRadius="45dp"
card_view:cardElevation="1dp">

<ImageView
android:layout_height="90dp"
android:layout_width="90dp"
android:src="@mipmap/b"
/>

</android.support.v7.widget.CardView>
</RelativeLayout>

需要在模拟器中跑出来才有效果,如果直接用as看可能没有效果
多方法圆形头像布局实现
重要的几个属性:
card_view:cardCornerRadius=”10dp” 圆角的半径
card_view:cardElevation=”24dp” 阴影shadow


其实cardView 的作用是这样的,我们只是用card 的属性吧,imageView设置值成了一个原型头像
多方法圆形头像布局实现