Android 使用RecycleView制作头像堆叠效果
效果如下:
代码如下:
这里给出部分关键代码
逻辑代码:
//反方向排列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制作头像堆叠效果相关推荐
- ▲ Android 使用RecycleView自定义日历签到效果
最近公司又要求做一个签到日历效果,我为啥加个又是之前我实现了一个日历签到效果,而这次我使用的则是RecycleView去实现. 先上效果图 实现思路 初始化日历数据,把数据传入到适配器中并显示. 至于 ...
- android 头部折叠,Android 头像折叠效果
一.前言: 我们在开发中,经常遇到头像折叠效果,特别是直播软件,以前都是写死的,太Low了,今天用recycleView实现头像折叠效果: 效果图.png 1.项目依赖: //recyclerview ...
- Android开发之制作圆形头像自定义View,直接引用工具类,加快开发速度。带有源代码学习
作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 QQ986945193 博客园主页:http://www.cnblogs.com/mcxiaobing ...
- Android开发之制作圆形头像自定义View,直接引用工具类,加快开发速度。带有源代码学习...
作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 QQ986945193 博客园主页:http://www.cnblogs.com/mcxiaobing ...
- android led闪烁功能,如何在Android应用层中制作一个LED指示灯效果
如何在Android应用层中制作一个LED指示灯效果 发布时间:2020-12-08 16:12:59 来源:亿速云 阅读:86 作者:Leah 本篇文章给大家分享的是有关如何在Android应用层中 ...
- Android仿微信头像放大效果
android仿微信头像放大效果,使用Dialog+Gallery 实现 1. dialog显示时的动画style,动画可以自己根据喜好自己设置,此处动画xml省略 <style name=& ...
- android tabhost 动画,Android中使用TabHost 与 Fragment 制作页面切换效果
三个标签页置于顶端 效果图: 在文件BoardTabHost.java中定义页面切换的效果:切换页面时,当前页面滑出,目标页面滑入.这是2个不同的动画设定动画时要区分对待 import android ...
- 利用Python 自己动手制作动漫效果图片
背景 动漫效果的头像最近比较火,微信里面有大量的朋友都是使用这种风格的头像,在一些软件里面也慢慢开始集成该功能,在手机里面可以直接制作出动漫效果的图片 这种风格的图片是怎么生成的呢,那就不得不说最近这 ...
- android 环绕布局,Android自定义View实现圆形环绕效果
之前项目中需要实现一个四周环绕中心圆形头像的效果,感觉还是自定义比较方便,于是就自己封装了一个控件去实现.先贴张图显示最终效果. 首先自定义一个View继承自LinearLayout,通过动态添加ch ...
最新文章
- MS SQL Server和MySQL区别
- 一份 Spring Boot 项目搭建模板
- Yahoo网站性能优化的34条军规
- 带领国产数据库走向世界,POLARDB底层逻辑是什么?
- HTML|CSS之布局相关总结
- 医疗物联网解决方案提供商“识凌科技”完成C轮融资
- SSD1306 芯片 手册官方网址
- 计算机表格函数最大值操作,使用MAX最大值函数计算excel表格中学生成绩的最大值...
- 数据分析(入门篇)-第三章-Show出你的数据-Part2(水晶易表)
- word表格分开快捷键_Word快捷键一览表
- mysql自制食物_近2千条日常食物营养表ACCESS数据库Mysql数据库
- sim卡iccid编辑软件_iccid漏洞井喷,有锁苹果用户福音来了
- Java多线程——什么是线程安全和线程不安全
- 什么是K线图,怎么看K线图
- 2018计算机专业研究院教育部评估
- 美国核聚变反应中首次实现净能量增益 或改变未来能源路线图
- 计算机开关电源的发展,开关电源发展史及发展趋势剖析
- Echarts时间坐标轴刻度的改进和优化
- [附源码]java+ssm计算机毕业设计汉服饰文化宣传网站zdd1m(源码+程序+数据库+部署)
- python +tkinter 打造网易云音乐下载播放器
热门文章
- 【Android春招每日一练】(十五) 剑指4题+Android进阶
- GPT-5将死于GPT-4背刺?牛津剑桥研究警告:AI训AI成「剧毒」,会让模型崩溃!
- 2010年世界杯分组
- 【附源码】计算机毕业设计java医院门诊分诊系统设计与实现
- Merry Christmas——用shell 脚本实现画一个 blingbling 的圣诞树
- 解决FileZilla 报错“无法和 SFTP 服务器建立 FTP 连接,请选择合适的协议”
- 计算机各个方向名校公开课
- hue集成hive详解
- 【狂云歌之unity_vr】unity项目持续集成cibuilddailybuild
- 【北交所周报】北交所将迎来首个上市的外资企业;首批北证50指数基金发行; IPO闯关6过6;...