我有这样的事情:

<ConstraintLayout>
    <SwipeRefreshLayout>
        <RecyclerView>


约束也有一个animateLayoutChanges = "true",但我确定这不是原因。

当我滑动手势以刷新手势时-没关系,一切正常,进度按预期隐藏。但是,如果我向下滑动,则在不松开手指的情况下,我向上滑动以隐藏可绘制的进度,其中一部分仍然可见。

仅出现在4.4及以下版本。

android - SwipeRefreshLayout进度可绘制对象未完全隐藏在KitKat上-LMLPHP

最佳答案

方向更改时,或者您手动设置了操作栏大小,操作栏可能会变薄。在成功滑动手势后,将距进度微调器应重置的视图顶部的像素设置为当前操作栏大小的偏移量。

TypedValue typedValue = new TypedValue();
getActivity().getTheme().resolveAttribute(android.support.v7.appcompat.R.attr.actionBarSize, typedValue, true);
mSwipeRefreshLayout.setProgressViewOffset(false, 0, getResources().getDimensionPixelSize(typedValue.resourceId));


解决方案取自以下问题的答案:swipeRefreshLayout

测试这是否首先对您有帮助:mSwipeRefreshLayout.setProgressViewOffset(false,0,64)或可能比64大一点

10-08 07:24