多方法圆形头像布局实现

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


方法一
CircleImageView
github的项目地址

public class CardView extends FrameLayout 

在项目中引用

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

布局文件

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

多方法圆形头像布局实现_第2张图片


方法二
cardView
引入

compile 'com.android.support:cardview-v7:25.0.+'

<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看可能没有效果
多方法圆形头像布局实现_第3张图片
重要的几个属性:
card_view:cardCornerRadius=”10dp” 圆角的半径
card_view:cardElevation=”24dp” 阴影shadow


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


你可能感兴趣的:(android)