旋转后的 LinearLayout 跨度
LinearLayout span after rotation
我有一个 RecyclerView
使用 GridLayout
。 RecyclerView
具有异构布局(我遵循本指南 link),不同之处在于我仅在 recyclerView
之上显示了一些数据 textView
。它工作正常,但是当我 旋转 屏幕时,gridlayout
设置了两个或更多 spans
,textView
显示在 first span
但我希望 span
将占据屏幕的整个宽度,而不管 spans
.
的数量
我应该为此使用 tableLayout
吗?
您需要做的就是在您的 GridLayoutManager
上设置自定义 SpanSizeLookup
。
final int numSpans = ...
// Create a grid layout with numSpans columns
GridLayoutManager layoutManager = new GridLayoutManager(this, numSpans);
// Create a custom SpanSizeLookup where the first item spans all columns
layoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
return position == 0 ? numSpans : 1;
}
});
我有一个 RecyclerView
使用 GridLayout
。 RecyclerView
具有异构布局(我遵循本指南 link),不同之处在于我仅在 recyclerView
之上显示了一些数据 textView
。它工作正常,但是当我 旋转 屏幕时,gridlayout
设置了两个或更多 spans
,textView
显示在 first span
但我希望 span
将占据屏幕的整个宽度,而不管 spans
.
我应该为此使用 tableLayout
吗?
您需要做的就是在您的 GridLayoutManager
上设置自定义 SpanSizeLookup
。
final int numSpans = ...
// Create a grid layout with numSpans columns
GridLayoutManager layoutManager = new GridLayoutManager(this, numSpans);
// Create a custom SpanSizeLookup where the first item spans all columns
layoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
return position == 0 ? numSpans : 1;
}
});