android - 如何禁用 RecyclerView 动画?
问题描述
我每秒都在使用和更新我的 RecyclerView。由于数据在变化,我得到了这个烦人的 Android 默认动画。如何禁用默认更改动画?其余的删除可以保留。
解决方案
您可以通过在回收站视图中添加以下行来禁用动画
recyclerView.itemAnimator = null
这将禁用所有默认动画
对于java
recyclerView.setItemAnimator(null);
在内部这是setItemAnimator
方法
ItemAnimator mItemAnimator = new DefaultItemAnimator();
public void setItemAnimator(@Nullable ItemAnimator animator) {
if (mItemAnimator != null) {
mItemAnimator.endAnimations();
mItemAnimator.setListener(null);
}
mItemAnimator = animator;
if (mItemAnimator != null) {
mItemAnimator.setListener(mItemAnimatorListener);
}
}
所以我们将mItemAnimator
其设为 null ,默认设置为DefaultItemAnimator()
推荐阅读
- javascript - 在 Angular 的 ngOnChanges 中调用本地声明的函数
- bitcoin - SetGenesis 十六进制字符串 - 加密值
- batch-file - 将值从 Batch 传递到 DB2
- javascript - Webpack 手表让我失望了
- html - 自定义单选按钮填充
- android - 在 Java 中使用 Gradle Play Publisher 的版本名称覆盖
- c - C#define 中的常数公式是否会影响效率?
- html - 如何在标签内获取img alt的文本
- c# - 将字符串转换为标准 c# 日期时间
- mfc - 使用 CProgressCtrl::SetRange32 增加范围