2017-05-03 6 views
0

横にスクロールできる2つのCardViewが表示されたRecyclerViewを作成したいとします。下の写真と同様です。 enter image description here水平スクロールでこのRecyclerViewを実行するにはどうすればよいですか?

LayoutManagerをこのコードに設定すると、目的のフォーマットが作成されますが、垂直方向にスクロールしています。 LayoutManagerの設定

recyclerView.SetLayoutManager(new GridLayoutManager(Context, 2, GridLayoutManager.Vertical, false)); 

enter image description here

このコードに間違ったフォーマットを作成しますが、それは、水平方向にスクロールされます。

recyclerView.SetLayoutManager(new GridLayoutManager(Context, 2, GridLayoutManager.Horizontal, false)); 

enter image description here

私の質問は、私が並んでおり、水平方向にスクロールすることができます2 CardViewsのフォーマットを作成するにはどうすればよいのですか?ここで

は、それが必要とされるだけの場合にはCardView XMLです:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:id="@+id/cardView" 
    android:layout_marginLeft="10dp" 
    android:layout_marginTop="10dp" 
    android:layout_marginRight="10dp" 
    android:layout_marginBottom="10dp"> 
    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:background="#FF0000"> 
    </RelativeLayout> 
</android.support.v7.widget.CardView> 
+0

GridLayoutManagerの代わりにLinearLayoutManagerを使ってみましたか? –

答えて

1

は、水平方向にLinearLayoutManagerを使用してみてください:

LinearLayoutManager layoutManager = new LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false); 

あなたは、同時に2枚のカードを表示したい場合は、幅を画面サイズの半分に設定します。

+0

あなたの答えをありがとう。私はLinearLayoutManagerを使用することを考えましたが、その問題は、それらの内部の2つのCardViewの幅を均等にして、親で同じになるようにする方法です。また、3つのCardViewを表示したい場合はどうなりますか? GridLayoutManagerを使用して列の数を変更するのと同じくらい単純ではありません。 – John

+0

'cardWidth = screenSize/COLUMNS_NUMBER'を行うことができます。さらに列を追加したい場合は最後の定数を変更してください。 'GridLayoutManager'は、あなたの場合ではなく、複数の行と列を持つグリッドを作成したい場合に機能します。 –

+0

また、CardViewsで 'android:weight'を試してみることもできますが、動作しているかどうかわかりません。 –

関連する問題