效果如下:

代码如下:
这里给出部分关键代码
逻辑代码:

//反方向排列recycleView.layoutManager = LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, true).apply {stackFromEnd = true}

adapter:

/*** 层叠头像Adapter*/
class LayerAvatarAdapter(): RecycleBaseAdapter<LayerAvatarViewHolder>() {var avatarList = arrayListOf<String>()set(value) {field = valuenotifyDataSetChanged()}override fun getItemCount() =  if (avatarList.size > 3) 3 else avatarList.sizeoverride fun onCreateViewHolder(parent: ViewGroup, viewType: Int): LayerAvatarViewHolder {super.onCreateViewHolder(parent, viewType)val view = inflater.inflate(R.layout.item_layer_avatar,parent,false);return LayerAvatarViewHolder(view)}override fun onBindViewHolder(holder: LayerAvatarViewHolder, position: Int) {super.onBindViewHolder(holder, position)if(position == avatarList.size - 1){setMargins(holder.root,0,0,0,0)}GlideUtils.loadCircle(context,avatarList[position],holder.avatar)}private fun setMargins(v: View, l: Int, t: Int, r: Int, b: Int) {if (v.layoutParams is ViewGroup.MarginLayoutParams) {val p = v.layoutParams as ViewGroup.MarginLayoutParamsp.setMargins(l, t, r, b)
//            v.layoutParams = pv.requestLayout()}}
}

LayerAvatarViewHolder

/*** 层叠头像*/
class LayerAvatarViewHolder(@NonNull itemView : View) : RecycleBaseViewHolder(itemView) {val avatar: ImageView = itemView.findViewById(R.id.item_layer_avatar)val root: View = itemView.findViewById(R.id.root)
}

xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/root"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="-5dp"><!-- 这里不能使用android:layout_marginStart,否则动态改变布局效果无效 --><ImageViewandroid:id="@+id/item_layer_avatar"android:layout_width="@dimen/dp_20"android:layout_height="@dimen/dp_20"/>
</LinearLayout>

Android 使用RecycleView制作头像堆叠效果相关推荐

  1. ▲ Android 使用RecycleView自定义日历签到效果

    最近公司又要求做一个签到日历效果,我为啥加个又是之前我实现了一个日历签到效果,而这次我使用的则是RecycleView去实现. 先上效果图 实现思路 初始化日历数据,把数据传入到适配器中并显示. 至于 ...

  2. android 头部折叠,Android 头像折叠效果

    一.前言: 我们在开发中,经常遇到头像折叠效果,特别是直播软件,以前都是写死的,太Low了,今天用recycleView实现头像折叠效果: 效果图.png 1.项目依赖: //recyclerview ...

  3. Android开发之制作圆形头像自定义View,直接引用工具类,加快开发速度。带有源代码学习

    作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 QQ986945193 博客园主页:http://www.cnblogs.com/mcxiaobing ...

  4. Android开发之制作圆形头像自定义View,直接引用工具类,加快开发速度。带有源代码学习...

    作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 QQ986945193 博客园主页:http://www.cnblogs.com/mcxiaobing ...

  5. android led闪烁功能,如何在Android应用层中制作一个LED指示灯效果

    如何在Android应用层中制作一个LED指示灯效果 发布时间:2020-12-08 16:12:59 来源:亿速云 阅读:86 作者:Leah 本篇文章给大家分享的是有关如何在Android应用层中 ...

  6. Android仿微信头像放大效果

    android仿微信头像放大效果,使用Dialog+Gallery 实现 1.  dialog显示时的动画style,动画可以自己根据喜好自己设置,此处动画xml省略 <style name=& ...

  7. android tabhost 动画,Android中使用TabHost 与 Fragment 制作页面切换效果

    三个标签页置于顶端 效果图: 在文件BoardTabHost.java中定义页面切换的效果:切换页面时,当前页面滑出,目标页面滑入.这是2个不同的动画设定动画时要区分对待 import android ...

  8. 利用Python 自己动手制作动漫效果图片

    背景 动漫效果的头像最近比较火,微信里面有大量的朋友都是使用这种风格的头像,在一些软件里面也慢慢开始集成该功能,在手机里面可以直接制作出动漫效果的图片 这种风格的图片是怎么生成的呢,那就不得不说最近这 ...

  9. android 环绕布局,Android自定义View实现圆形环绕效果

    之前项目中需要实现一个四周环绕中心圆形头像的效果,感觉还是自定义比较方便,于是就自己封装了一个控件去实现.先贴张图显示最终效果. 首先自定义一个View继承自LinearLayout,通过动态添加ch ...

最新文章

  1. MS SQL Server和MySQL区别
  2. 一份 Spring Boot 项目搭建模板
  3. Yahoo网站性能优化的34条军规
  4. 带领国产数据库走向世界,POLARDB底层逻辑是什么?
  5. HTML|CSS之布局相关总结
  6. 医疗物联网解决方案提供商“识凌科技”完成C轮融资
  7. SSD1306 芯片 手册官方网址
  8. 计算机表格函数最大值操作,使用MAX最大值函数计算excel表格中学生成绩的最大值...
  9. 数据分析(入门篇)-第三章-Show出你的数据-Part2(水晶易表)
  10. word表格分开快捷键_Word快捷键一览表
  11. mysql自制食物_近2千条日常食物营养表ACCESS数据库Mysql数据库
  12. sim卡iccid编辑软件_iccid漏洞井喷,有锁苹果用户福音来了
  13. Java多线程——什么是线程安全和线程不安全
  14. 什么是K线图,怎么看K线图
  15. 2018计算机专业研究院教育部评估
  16. 美国核聚变反应中首次实现净能量增益 或改变未来能源路线图
  17. 计算机开关电源的发展,开关电源发展史及发展趋势剖析
  18. Echarts时间坐标轴刻度的改进和优化
  19. [附源码]java+ssm计算机毕业设计汉服饰文化宣传网站zdd1m(源码+程序+数据库+部署)
  20. python +tkinter 打造网易云音乐下载播放器

热门文章

  1. 【Android春招每日一练】(十五) 剑指4题+Android进阶
  2. GPT-5将死于GPT-4背刺?牛津剑桥研究警告:AI训AI成「剧毒」,会让模型崩溃!
  3. 2010年世界杯分组
  4. 【附源码】计算机毕业设计java医院门诊分诊系统设计与实现
  5. Merry Christmas——用shell 脚本实现画一个 blingbling 的圣诞树
  6. 解决FileZilla 报错“无法和 SFTP 服务器建立 FTP 连接,请选择合适的协议”
  7. 计算机各个方向名校公开课
  8. hue集成hive详解
  9. 【狂云歌之unity_vr】unity项目持续集成cibuilddailybuild
  10. 【北交所周报】北交所将迎来首个上市的外资企业;首批北证50指数基金发行; IPO闯关6过6;...