SwipeRefreshLayout片段创建时没有动画

Mak*_*sym 8 animation android swiperefreshlayout android-recyclerview

我使用的是android.support.v4.widget.SwipeRefreshLayoutandroid.support.v7.widget.RecyclerView.
在片段视图创建中,我需要显示SwipeRefreshLayout动画.但是当我打电话时setRefreshing(true)没有任何反应 但是当我刷新数据动画的变化时.
我想如果没有孩子,动画就不会显示出来SwipeRefreshLayout.
如何以最佳方式显示此动画?

Tad*_*nis 10

这是一个报告的错误(此处报告),并提供了一种解决方法:

mSwipeRefreshLayout.setProgressViewOffset(false, 0,
    (int) TypedValue.applyDimension(
        TypedValue.COMPLEX_UNIT_DIP, 
        24, 
        getResources().getDisplayMetrics()));
mSwipeRefreshLayout.setRefreshing(true);
Run Code Online (Sandbox Code Playgroud)


Mak*_*sym 2

多谢你们。

我刚刚意识到最简单的解决方案是在调用 setRefreshing(true) 之前调用方法measure(int, int)(具有非零值)。发生问题是因为 setRefreshing(true) 在 onMeasure 之前调用。

所以你需要调用:

swipeRefreshLayout.measure(initialWidth, initialHeight);
swipeRefreshLayout.setRefreshing(true);
Run Code Online (Sandbox Code Playgroud)

  • 这是错误的做法,因为您会遇到各种 NPE。 (2认同)