android开发——用户头像

最近,小灵狐得知了一种能够加快修炼速度的绝世秘法,那便是修炼android神功。小灵狐打算用android神功做一个app,今天他的修炼内容就是头像功能。可是小灵狐是个android小白啊,所以修炼过程也是困难重重。下面我们来看看他的修炼过程吧。

控件

小灵狐想要能够拥有头像,那么首先就要有显示头像的地方,也就是控件。首先可以采用ImageView来,但是小灵狐不喜欢用ImageView来,他选择了另一种控件——CircleImageView。这是一种能够将图片圆形化的控件,用法和ImageView是完全一样的,就是会自动把头像转化成圆形的。要使用这个控件,首先要引入第三方库de.hdodenhof:circleimageview:2.2.0,剩下的就和ImageView一样了。比如他在布局中加入了如下的样式:

<de.hdodenhof.circleimageview.CircleImageView
            android:id="@+id/civ_my_avatar"            // 控件id,唯一表示控件
            android:layout_width="100dp"              // 设置宽为100dp
            android:layout_height="100dp"             // 设置高为100dp
            android:layout_gravity="center"           // 设置在布局中的显示位置为中间
            />

之后小灵狐发现这样子如果没有图片的话,就看不见这个控件,他就想要在控件外围显示一个圈,在这样就算没有头像,那么这个圈也会显示出来,让人一看就知道这里是要显示头像的。于是,他就在上面的代码中加入了以下的设置

app:civ_border_width="1dp"            // 设置边框宽度,默认为0,这样就看不到那个圈了
app:civ_border_overlay="true"         // 设置边框是否覆盖在图片上,默认为false
app:civ_border_color="@color/silver"  // 设置边框的颜色,默认为黑色,这里用了一种自定义的颜色——银色
app:civ_fill_color="@color/whiteSmoke"// 设置填充底色,默认为透明,这里用了自定义的颜色——白烟色

加上了上面的设置,便可以显示出一个头像的圈圈了。这样,基本的东西就准备好了,但是还是没有图片。如果想要显示某张图片(假设图片为drawable文件夹下的一张名为“fox”的图片),只要再加上下面的设置就好了。

android:src="@drawable/fox"

如果想要了解更多的关于CircleImageView的内容,可以参考
CircleImageView的项目源码链接的项目源码链接

修改头像

现在已经能够成功显示出头像了,但是小灵狐喜欢用头像来表达自己的心情,所以他经常会换头像,这可怎么办呢?不急,在更换头像之前,我们需要能够选择一张用来替换的图片。小灵狐想要点击头像就可以选择系统相册里面的图片并把它设为头像。我们一步步来。

设置头像框监听事件

我们给头像框设置一个监听事件,使得点击它后会调用系统相册。这就要先给头像框设置监听事件了。给控件设置监听事件只要两步就好啦,首先创建一个对应控件类型的对象,并通过findViewById(int id)函数找到控件id将对象与空间进行绑定。然后就可以通过对象来调用setOnClickListener()函数,从而达到监听的效果,代码如下:

// 根据上面指定的控件id创建CircleImageView控件对象
CircleImageView circleImageView = (CircleImageView) findViewById(R.id.civ_my_avatar);
// 调用监听函数
circleImageView.setOnClickListener(new Vie
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值