java - notifyItemRemoved() 滚动回收器 View ,但不调用 onScrolled()

标签 java android android-recyclerview scroll

我有一个 recyclerView 设置为轮播 View 。当项目移动时,它们会随着靠近屏幕中心而扩展。缩放 View 的方法是通过重写 onScrolled() 来调用的。我的问题是,当删除项目时, View 会滚动,但不会调用 onScrolled() 并且 View 不会缩放。有没有办法知道 View 何时被删除以及动画何时完成? 我无法重写 onItemRangeRemoved(),因为它仅在删除开始时调用。

 @Override
        public void onChanged() {
            super.onChanged();
            initEmptyView();
            addOnScrollListener(new OnScrollListener() {
                @Override
                public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
                    super.onScrolled(recyclerView, dx, dy);
                    onScrollChanged();
                }
            });
        }

public void onScrollChanged(){
    for (int i = 0; i < getChildCount(); i++){
        View child = getChildAt(i);
        int childCenterX = (child.getLeft() + child.getRight()) / 2;
        double spreadFactor = 150;
        float scaleValue = getGaussianScale(childCenterX, 1f, 0.1f, spreadFactor);
        child.setScaleX(scaleValue);
        child.setScaleY(scaleValue);
    }

    int currentPosition = myLayoutManager.findFirstCompletelyVisibleItemPosition();
    ((TopUp) context).setCurrentPosition(currentPosition);
}

最佳答案

找到了。

 recyclerView.setItemAnimator(new DefaultItemAnimator(){
        @Override
        public void onRemoveFinished(RecyclerView.ViewHolder item) {
            super.onRemoveFinished(item);

        }
    });

关于java - notifyItemRemoved() 滚动回收器 View ,但不调用 onScrolled(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59262376/

相关文章:

java - 如何打印这个图案?

java - FastQC 无法处理 fastq 序列文件 - java.lang.NullPointerException

java - 如何处理 RESTful Spring MVC Controller 中的验证错误和异常?

android - 哪个事件用于在android中左右滑动手指病房?

android - 如何使用glide提前加载图片?

android - 使用 Firebase UI RecyclerView 打开另一个 Activity

java - 如何使用java在azure文件存储帐户上写入CSV文件?

android - 如何制作像 Telegram 一样的循环进度条?

java - Google map 和 MapFragment 以及 getMapAsync

Android - CardView 未显示在连接到 Firebase 的 RecyclerView 上