Android实现RecyclerView宽度变化动画

news2024/11/23 12:34:26

效果图

实现思路就是定义一个属性动画,在动画监听器中不断修改RecyclerView的宽度

            valueAnimator = ValueAnimator.ofInt(begin, recyclerView.getWidth() * 2);

            valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
                @Override
                public void onAnimationUpdate(@NonNull ValueAnimator valueAnimator) {
                    Log.e("YinTest_", "onAnimationUpdate getAnimatedValue=" + valueAnimator.getAnimatedValue());
                    LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) recyclerView.getLayoutParams();
                    layoutParams.width = (int) valueAnimator.getAnimatedValue();
//                    layoutParams.height = LinearLayout.LayoutParams.MATCH_PARENT;
                    recyclerView.setLayoutParams(layoutParams);
                    recyclerView.setX((begin * 2 - layoutParams.width));

                }
            });
            valueAnimator.start();
//            recyclerView.getAdapter().notifyDataSetChanged();
            recyclerView.getAdapter().notifyItemRangeChanged(layoutManager.findFirstVisibleItemPosition(), 36);

完整Demo

https://download.csdn.net/download/y280903468/89871840

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2202960.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

EasyAnimate

https://github.com/aigc-apps/EasyAnimate/blob/main/README_zh-CN.mdhttps://github.com/aigc-apps/EasyAnimate/blob/main/README_zh-CN.md EasyAnimate v4是一个用于生成高分辨率和长视频的端到端解决方案。我们可以训练基于转换器的扩散生成器,训练用于处理长视频的VAE,…

python35_控制台简单计算年薪

控制台简单计算年薪 def calculate_annual_salary(monthly_salaries):"""计算年薪。参数:monthly_salaries: list of float,每个月的工资列表。返回值:float,用户的年薪。"""annual_salary sum(monthly_salaries)return…

论文作者署名排序是怎么界定的?

人人都想在论文的作者名单中占个位子,特别是一作和通讯作者,我也经常会收到一些人的哭诉,说自己明明做了大部分的工作,但却让别人的名字挂在第一作者。 在厘清一作与通讯作者的意义之前,我们先来看看谁可以署名。目前国…

经典蓝牙BLE版本区别:【图文讲解】

蓝牙是一种短距的无线通讯技术,可实现固定设备、移动设备之间的数据交换。一般将蓝牙3.0之前的BR/EDR蓝牙称为传统蓝牙,而将蓝牙4.0规范下的LE蓝牙称为低功耗蓝牙(BLE)。 1:蓝牙4.0 BLE 4.0版本是3.0版本的升级版本&a…

MySQL 初探:从基础到优化

什么是 MySQL? MySQL 是一个开源的关系型数据库管理系统 (RDBMS),使用结构化查询语言 (SQL) 进行数据管理。作为最流行的数据库之一,MySQL 被广泛应用于各类网站和应用中,从小型应用到大型复杂系统。 MySQL 的特点 开源免费&am…

antdv树形表格 大量tooltip等组件导致页面卡顿问题优化

vue3、ant-design-vue 4.2.3 遇到的问题:页面中有个展示树形数据的表格,默认需要全部展开,有一组数据量较大时页面首次渲染时非常卡顿,发现每次都大概用了7、8秒才完成渲染。表格展开的数据大概300条数据,操作列中有5…

SpringBoot框架下的服装生产管理系统

1 绪论 1.1 研究背景 当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高…

leetcode:反转字符串中的单词III

题目链接 string reverse(string s1) {string s2;string::reverse_iterator rit s1.rbegin();while (rit ! s1.rend()){s2 *rit;rit;}return s2; } class Solution { public:string reverseWords(string s) {string s1; int i 0; int j 0; int length s.length(); for (i …

2024年【金属非金属矿山(地下矿山)安全管理人员】复审考试及金属非金属矿山(地下矿山)安全管理人员在线考试

题库来源:安全生产模拟考试一点通公众号小程序 金属非金属矿山(地下矿山)安全管理人员复审考试考前必练!安全生产模拟考试一点通每个月更新金属非金属矿山(地下矿山)安全管理人员在线考试题目及答案&#…

防汛可视化系统:提升应急响应能力

通过图扑可视化系统实时监测水情、雨情和地理数据,辅助防汛决策与调度,提供直观的风险预警信息,从而优化资源分配,提高防汛应急响应效率。

进程通讯方式区别(从不同角度看)

*常用到的不同主机间进程通讯:Socket。比如:host和引擎间socket指令通讯、分派和复判之间指令通讯; *共享内存:在Windows系统中,共享内存的实现通常有以下几种方式: 1.内存映射文件(最常用):(…

linux上的smb共享文件夹

需求描述 公司的打印机使用扫描功能的时候,需要发送大量文件。然鹅公司的电脑都是加入了AzureAD的,不能在公司电脑上简单设置共享。好在公司有很多阿里云上的服务器,Linux和Windows的都有,所以就来尝试用阿里云的服务器来进行smb…

正点原子学习笔记之汇编LED驱动实验

1 汇编LED原理分析 为什么要写汇编     需要用汇编初始化一些SOC外设     使用汇编初始化DDR、I.MX6U不需要     设置sp指针,一般指向DDR,设置好C语言运行环境 1.1 LED硬件分析 可以看到LED灯一端接高电平,一端连接了GPIO_3上面…

华捷艾米3D结构光模组测试

1.测试项目总览 本次测试主要测试以下几个方面: 模组的基本属性和SDK基本功能;华捷艾米提供的人脸防伪算法性能;模组的逆光性能。 2.基本属性和SDK基本功能 图像属性: 模组提供的3d深度数据标称分辨率最大为640x480&#xff0…

软件测试学习笔记丨MongoDB

本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/32359 一、MangoDB数据库 1.1 关系与非关系 1.1.1 关系型数据库 关系型数据库 MySQL,Oracle, SQLServer, Access…SQL(结构化查询语句&#x…

[图形学]smallpt代码详解(上)

一、简介 本文介绍了著名的99行代码实现全局光照的光线跟踪代码smallpt。 包括对smallpt的功能介绍、编译运行介绍,和对代码的详细解释。希望能够帮助读者更进一步的理解光线跟踪。 二、smallpt介绍 1.smallpt是什么 smallpt(small Path Tracing) 是一个全局光照…

微信服务号灰度测试折叠,看谁该慌了?

2024年国庆节前夕,突然发现我的微信的会话列表清静了不少。 紧接着,我马上就慌了... 🤔怎么“丰巢快递”不见了,我要找取件码 🤔我的flomo浮墨笔记公众号呢?我要记笔记啊 🤔这个月怎么没有…

3个步骤轻松集成Push Kit,实现App消息推送

推送通知作为App重要的消息传递工具,广泛应用于电子商务、社交媒体、旅游交通等领域的通知场景。比如当应用有新功能或安全补丁时,系统将推送消息提醒用户及时更新;如果是航班出行类的应用,会发送最新的班次时间表给用户&#xff…

44 C 语言输入输出流、scanf 与 printf 函数详解、清除输入缓冲区

目录 1 文件基本介绍 1.1 文件的主要功能 1.2 输入输出流 2 C 语言中的输入与输出 2.1 输入 2.2 输出 2.3 标准文件与文件指针 3 scanf() 函数详解 3.1 功能描述 3.2 函数原型 3.3 常用格式说明符 3.4 返回值 3.5 注意事项 3.5.1 处理空白字符 3.5.2 防止缓冲区…

基于K-means和RFM模型的电商行业用户画像及商品个性化推荐研究

文章目录 有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主项目介绍数据概览数据预处理可视化过程展示RFM模型K-means及改进算法每文一语 有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主 项目介绍 本研究基于阿里天池…