2017-10-05 6 views
2

J'ai une vue recycleur comme ceci:RecyclerView GridLayoutManager article match_parent largeur

<android.support.v7.widget.RecyclerView 
     android:id="@+id/recycler" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" /> 

Et l'article comme celui-ci:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 

<ImageView 
    android:layout_width="100dp" 
    android:layout_height="70dp" 
    android:scaleType="fitCenter" 
    android:layout_margin="10dp" /> 

<TextView 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:padding="10dp" 
    android:linksClickable="true" /> 

</LinearLayout> 

Je fais cela dans le code pour avoir une grille avec 2 colonnes :

 GridLayoutManager gridLayoutManager = new GridLayoutManager(context, 2, LinearLayoutManager.VERTICAL,false); 
     _recycler.setLayoutManager(gridLayoutManager); 

Je veux que chaque élément prenne l'espace "match_parent" disponible, et ce n'est pas le cas! Chaque article prend la moitié de l'espace disponible. Comment faire pour avoir un élément avec une largeur = "match_parent" et la possibilité de faire défiler horizontalement?

Je veux quelque chose comme ceci:

screen 

|------| 

    ITEM1 - ITEM2 
    ITEM3 - ITEM4 
+0

vous voulez à la fois défilement horizontal et vertical? – nomag

+0

nop, parce que je veux montrer tout le contenu sans défilement vertical. Je veux juste offrir le défilement horizontal pour montrer les objets "cachés". (parce que si chaque élément est affiché dans le parent correspondant, il doit faire défiler pour voir les autres) – deveLost

+0

Alors, vous voulez afficher un élément à la fois? et faites défiler horizontalement? –

Répondre

0

Vous ne pouvez pas correspondre parent horizontalement et avoir un défilement horizontal, vous devez passer un d'entre eux autour. Pour réaliser ce que vous voulez, vous devez utiliser quelque chose comme FiewFlipper ou des onglets.

+0

Je ne comprends pas pourquoi! La disposition du tableau peut afficher les éléments qui correspondent à ° _parent et défiler horizontalement. Je voulais utiliser une vue de recycleur au lieu de ma disposition de table pour la performance mais ... si ce n'est pas possible :( – deveLost

+0

Vous dites que vous n'avez pas besoin de défilement vertical, ce qui signifie que vous n'aurez que quelques éléments dans votre grille? donc RecyclerView n'augmentera pas les performances, cela n'aide que lorsque vous avez une liste qui est plus grande que ne peut en contenir à l'écran – meeeee

+0

Nop, je ne veux pas autoriser le défilement vertical, je montre tout le contenu parce que c'est un cas spécifique, alors oui, Recyclerview va augmenter la performance, je pense :( – deveLost