2016-08-31 18 views
2

私は自分のアプリのトップに戻るボタンを追加したいと思います。私はアイテムを表示するためにrecyclerviewを使用します。私はボタンを追加し、それをクリックするとビューが上に上がりますが、私の目標は、アプリケーションがスクロールダウンされ、最初のアイテムが表示されない場合にのみこのボタンを表示することです。私はRecyclerView上のスクロールボタン

LayoutManager.findFirstCompletelyVisibleItemPosition(); 

と他の方法を試しましたが、許容される効果はありません。

+0

onScrollListenerにコード行を追加しようとしましたか?あなたがスクロールすれば、その結果を得るべきだからです。 –

+0

@R.Zagórskiそれはボタンとその作業を追加する方法を知っているので、それは重複しないが、私は彼を必要としないときにボタンを非表示にしたい – porgo

+0

@ R.Adangはもちろんありません:)あなたのアドバイスをありがとう私は私の問題を解決した! – porgo

答えて

1

私の解決策を以下に示します。 RecyclerViewにOnScrollListenerを追加し、ビューがスクロールされると、最初のアイテムが表示されていることを確認し、自分のボタンの表示を設定します。

MyRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() { 
    @Override 
    public void onScrollStateChanged(RecyclerView recyclerView, int newState) { 
     super.onScrollStateChanged(recyclerView, newState); 
    } 

    @Override 
    public void onScrolled(RecyclerView recyclerView, int dx, int dy) { 
     int visibility = (MyLayoutManager.findFirstCompletelyVisibleItemPosition() != 0) ? View.VISIBLE : View.GONE; 
     btn.setVisibility(visibility); 
    } 
}); 
関連する問題