2016-04-14 11 views
1

myRefreshLayout.setRefreshing(false)を呼び出すと、リフレッシュアニメーションが終了することに気づきました...しかし、停止するだけではなく、現在の回転を終了し、オフスクリーンでアニメーション化されます。SwipeRefreshLayoutアニメーションなしでリフレッシュを停止します。

特定の状況でそれを回避する手段はありますか?私はちょうどそれがすぐに消えるようにしています。

ありがとうございます!

答えて

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; 
           } 
          } 
0

を私はエレガントな方法を発見しました。 SwipeRefreshLayoutにはreset()メソッドがあり、アニメーションをキャンセルし、アニメーションなしで進行状況ドロアブルを直ちに非表示にします。残念ながら、このメソッドはパッケージプライベートです。しかし、setEnabled(false)の間に呼び出されるので、次のように使用できます。

swipeRefreshLayout.setEnabled(false) 
swipeRefreshLayout.setEnabled(true) 
関連する問題