SwipeRefreshLayout在没有动画的情况下停止刷新

时间:2016-04-14 16:25:25

标签: android swiperefreshlayout

我知道调用myRefreshLayout.setRefreshing(false)将结束刷新动画...但是,它不会停止,它完成它的当前旋转并在屏幕外动画

在某些情况下有没有办法避免这种情况?我希望它能立即消失。

谢谢!

2 个答案:

答案 0 :(得分:0)

试试这个:

 int cnt = swiperefresh.getChildCount();
                            for(int i=0; i<cnt; i++) {
                                View ch = swiperefresh.getChildAt(i);
                                if(ch.getClass().getSimpleName().equals("CircleImageView")) {
                                    ch.clearAnimation();
                                    ch.setVisibility(View.GONE);
                                    swiperefresh.setRefreshing(false);
                                    ch.clearAnimation();
                                    break;
                                }
                            }

答案 1 :(得分:0)

我发现了一种优雅的方式。 reset()中有一个SwipeRefreshLayout方法可以取消动画,并在没有动画的情况下立即隐藏可绘制的进度。不幸的是,这种方法是私有的。但它在setEnabled(false)期间被调用,所以你可以像这样使用它:

swipeRefreshLayout.setEnabled(false)
swipeRefreshLayout.setEnabled(true)