私はrecyclerview
と別の要素の位置付け(横向きのグリッドと縦長のリスト)を使用して、異なる.xml
構造のアイテムを使用しています。RecyclerView:画面の向きに基づいて異なるLayoutManagerとアイテム構造を使用する
switch (getResources().getConfiguration().orientation) {
case 1:
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
break;
case 2:
recyclerView.setLayoutManager(new GridLayoutManager(getActivity(),2));
break;
}
しかし、第二部のために、私は疑問を持っている:私はonCreateView()
方法でチェックする簡単な向きで解決策を参照してください最初の部分については
。最も簡単な方法は、LayoutManagerをコンストラクタパラメータとしてアダプタに渡し、onCreateViewHolder()
のinstanceof
オペレータでレイアウトをチェックすることです。しかし、それは良いと思わない または正しい解決策。
だから、このような状況には共通のパターンやより良い方法がありますか?
ポートレートとランドスケープの2つの異なるレイアウトを作成すると、システムは自動的に必要なレイアウトを選択します。しかし、どのようにしてRecyclerviewのLayoutManagerを設定できますか?私はそれが肖像画で異なっており、風景で異なっている必要があります。 – jlively
元の投稿にAutumn_Catが何をしたかを試してみてください。うまく見える – anstaendig