多方法圆形头像布局实现

来源:互联网 发布:女王的教室知乎 编辑:程序博客网 时间:2024/06/05 15:27

这里写图片描述
大概就是这个实现效果,以前都是用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设置值成了一个原型头像
这里写图片描述