Comment définir RecyclerView layoutManager à partir de XML?
<android.support.v7.widget.RecyclerView
app:layoutManager="???"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
android
xml
android-recyclerview
androidx
Ilya Gazman
la source
la source
app:layoutManager="android.support.v7.widget.GridLayoutManager"
. Constructor avec quatre arguments seront utilisés (Context
,AttributeSet
,int
,int
). Selon la documentation, c'est le constructeur utilisé lorsque le gestionnaire de mise en page est défini en XML par l'attribut layoutManager de RecyclerView. Si spanCount n'est pas spécifié dans le XML, la valeur par défaut est une seule colonneRéponses:
Comme vous pouvez le vérifier dans le document:
Avec androidx, vous pouvez utiliser:
Avec les bibliothèques de support, vous pouvez utiliser:
Vous pouvez également ajouter ces attributs:
android:orientation
="horizontal|vertical"
: Pour contrôler l'orientation de la LayoutManager (par exempleLinearLayoutManager
)app:spanCount
: pour définir le nombre de colonnes pourGridLayoutManager
Exemple:
ou:
Vous pouvez également les ajouter en utilisant l'
tools
espace de noms (c'est-àtools:orientation
- dire ettools:layoutManager
), puis cela n'a d'impact que sur l'aperçu de l'EDI et vous pouvez continuer à définir ces valeurs dans le code.la source
android:orientation
l'élément RecyclerView pour contrôler l'orientation de, par exemple, LinearLayoutManagertools:layoutManager, tools:spanCount
(même si l'auto-complétion ne l'affiche pas) et si vous ne voulez pas remplacer l'une de vos configurations desi vous voulez l'utiliser avec
LinearLayoutManager
cela équivaut à
la source
android:orientation="horizontal"
au xml RecyclerViewEt je suis venu ici à la recherche d'une
androidx
version bien que c'était assez facile à comprendre, la voiciLinearLayoutManager:
Exemple:
GridLayoutManager:
Exemple:
Comme vous pouvez le voir dans les exemples ci-dessus, vous pouvez contrôler l'orientation de l'intérieur en
xml
utilisantet
Et pour définir le nombre de colonnes pour GridLayoutManager à l' aide de
la source
GridLayoutManager
en ajoutantapp:spanCount="2"
spanCount
trouvé ici. C'est pourquoi voter pour la réponse :)Les plus courants que j'utilise sont:
Et:
Il est recommandé de définir
listitem
, afin que vous voyiez à quoi cela pourrait ressembler dans l'aperçu de l'éditeur de mise en page.Si vous voulez que l'ordre soit inversé, je pense que vous devez le faire dans le code à la place, et utiliser des "outils" en XML si vous voulez vraiment voir quelque chose ...
la source
apps
et lesapp
espaces de noms que vous avez utilisés dans le xml ci-dessus? parce que j'obtiens une erreur de temps de constructionAndroid resource linking failed - AAPT: error: attribute orientation
, si j'utiliseapp:orientation
.android
pourorientation
. Cela ne fonctionne pas avec l'app
espace de noms, tout le reste est parfait.