web-dev-qa-db-fra.com

Marge extérieure des lignes GridView

Je ne peux pas trouver un moyen d'ajouter une marge externe aux lignes GridView. J'ai trouvé les propriétés setHorizontalSpacing et setVerticalSpacing qui ajoutent un remplissage intérieur entre les lignes GridView, mais cela ne s'applique pas aux bordures extérieures des lignes.

J'aimerais avoir un résultat car il est présenté sur le Google Play Store:

enter image description here

Merci!

31
Diego Acosta

Vous pouvez utiliser Android:clipToPadding=false pour ajouter un rembourrage qui ne reste pas lorsque les éléments défilent. Comme ça

<GridView
    Android:id="@+id/grid"
    Android:layout_width="match_parent"
    Android:layout_height="match_parent"
    Android:horizontalSpacing="16dp"
    Android:verticalSpacing="16dp"
    Android:padding="16dp"
    Android:clipToPadding="false" />

Et si vous voulez la barre de défilement à l'extérieur de la zone de remplissage, définissez Android:scrollbarStyle="outsideOverlay" merci @Karl!

90
Cameron Ketcham

Si vous voulez un résultat comme GooglePlay Store, vous pouvez définir setHorizontalSpacing et setVerticalSpacing, puis définir layout_margin sur GridView.

0
iman mohadesi