我正在使用recyclerview
,它應該使用不同的元素定位(網格用於橫向和列表用於縱向),具有不同的.xml
結構用於項目。RecyclerView:使用不同的佈局管理器和基於屏幕方向的項目結構
因爲我看到在簡單的定位解決方案onCreateView()
檢查方法第一部分:
switch (getResources().getConfiguration().orientation) {
case 1:
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
break;
case 2:
recyclerView.setLayoutManager(new GridLayoutManager(getActivity(),2));
break;
}
但對於第二部分我有疑惑。最簡單的方法是將LayoutManager作爲構造函數參數傳遞給Adapter,並使用instanceof
運算符檢查onCreateViewHolder()
中的佈局。但它看起來不是很好 或正確的解決方案。
那麼,對於這種情況,是否有任何常見的模式或更好的方法?
如果我爲縱向和橫向創建兩種不同的佈局,系統將自動選擇需要的佈局。但是我怎樣才能設置Recyclerview的LayoutManager?我需要它在縱向和橫向上有所不同。 – jlively
試試Autumn_Cat在原始文章中做了些什麼。看起來很好 – anstaendig