2016-05-03 17 views
3

RecyclerViewを使用するいくつかの画面と、RecyclerViewの上にある小さなFragmentもあります。そのFragmentが表示されたら、私はRecyclerViewの下にスクロールできることを確認したいと思います。 Fragmentは必ずしも表示されません。 RecyclerViewで余白を使用した場合は、Fragmentが表示されたら、動的に削除して追加する必要があります。リストの最後の項目に余白を追加することもできますが、それも複雑で、後で多くのものをロードすると(つまりページ付け)、余白を取り除く必要があります。最後の要素の余白をRecyclerViewに追加する方法は?

ビューに余白を動的に追加または削除するにはどうすればよいですか?これを解決する他のオプションは何ですか?

答えて

12

あなたのRecyclerViewあなたがpaddingBottomを設定し、falseにclipToPaddingできるの下部にいくつかのパディングを追加したい場合。ここに例があります

<android.support.v7.widget.RecyclerView 
    android:id="@+id/my_list" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:clipToPadding="false" 
    android:paddingBottom="100dp" /> 
+1

これは実装が簡単で、うまく動作していたようです。ありがとう。 – chubbsondubs

+0

喜んで助けた –

8

Item Decoratorを使用してください。だから、

public class MyItemDecoration extends RecyclerView.ItemDecoration { 

    @Override 
    public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) { 
     // only for the last one 
     if (parent.getChildAdapterPosition(view) == parent.getAdapter().getItemCount() - 1) { 
      outRect.top = /* set your margin here */; 
     } 
    } 
} 
+0

これはうまくいくと思われ、良い提案です。ありがとうございました。 – chubbsondubs

関連する問題