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

时间:2019-11-02 10:44:50

标签: android android-layout android-4.4-kitkat swiperefreshlayout

我有这样的东西:

<ConstraintLayout>
    <SwipeRefreshLayout>
        <RecyclerView>

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

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

仅在4.4及更低版本上显示。

enter image description here

1 个答案:

答案 0 :(得分:1)

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

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