非常に役立つ例 here を使用して、RecyclerViewとGridLayoutManagerを表示し、ヘッダー付きのグリッドを表示しています。
かなり良いように見えますが、私のグラフィックデザイナーはヘッダーアイテムがRecyclerViewの全幅を占めることを望んでいます。現在、パディングがあります。
GridLayoutManagerをセットアップするときに、パディングを追加します(他のグリッドアイテムに必要です):[Xamarin C#を使用しています]
var numColumns = myListView.MeasuredWidth / tileSizeMax;
myGridView.SetPadding(tilePadding, tilePadding, tilePadding, tilePadding);
layoutManager = new GridLayoutManager(Activity, numColumns);
myListView.SetLayoutManager(layoutManager);
だから、どのようにヘッダー項目のパディングを異なるように設定できますか?またはパディングの上に自分自身を描画させることができますか?
これで試してください:
mLayoutManager = new GridLayoutManager(this, 2);
mLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
switch(mAdapter.getItemViewType(position)){
case MyAdapter.HEADER:
return 2;
case MyAdapter.ITEM:
return 1;
default:
return 1;
}
}
});
そして、これらのリンクを確認してください:
http://blog.sqisland.com/2014/12/recyclerview-grid-with-header.htmlSpanSizeLookupを使用してGridLayoutManagerのアイテムのスパンを設定