SwipeRefreshLayout 进度可绘制对象不会完全隐藏在 KitKat 上

SwipeRefreshLayout progress drawable doesn't hide completely on KitKat

我有这样的东西:

<ConstraintLayout>
    <SwipeRefreshLayout>
        <RecyclerView>

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

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

仅出现在 4.4 及以下版本。

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

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 大一点