我想使用具有網格佈局管理器的可展開recyclerview,但具有擴展到屏幕全寬度的特定擴展行爲。帶網格佈局管理器的Android可擴展回收站視圖,具有特定的擴展行爲
有什麼辦法也許庫來實現這一目標?謝謝。
我想使用具有網格佈局管理器的可展開recyclerview,但具有擴展到屏幕全寬度的特定擴展行爲。帶網格佈局管理器的Android可擴展回收站視圖,具有特定的擴展行爲
有什麼辦法也許庫來實現這一目標?謝謝。
您需要在ViewHolder中添加一個轉換。檢查這個職位:link
我不知道克里斯托弗的鏈接是否允許可擴展佔據整個2個網格。可能有一種方法使用getItemViewType()和setSpanSizeLookup()的組合。
@Override
public int getItemViewType(int position) {
if (position == positionOfClickedItem + 2){
return TYPE_EXPANDABLE;
} else {
return TYPE_CAR_ITEM;
}
}
根據數據的位置綁定數據,並將其位置設置爲您的活動以設置SpanSizeLookup。然後你必須通知適配器的變化:
// Create a SpanSizeLookup which returns 2 grids span if its the expandable or 1 otherwise.
gridLayout.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
if (position == positionOfClickedItem) {
return 2;
} else {
return 1;
}
}
});
我認爲轉換答案效果更好,但萬一跨度大小是重要的。