2013-06-17 3 views
28

Я не могу найти способ добавить внешний край к строкам GridView. Я нашел свойства setHorizontalSpacing и setVerticalSpacing, которые добавили внутреннюю прокладку между строками GridView, однако это не относится к внешним границам строк.Внешнее поле строк GridView

Я хотел бы иметь результат, как это показал на Google Play магазине:

enter image description here

Спасибо!

+0

Пробовал ли вы просто добавить дополнение (или маржу) к 'GridView'? –

+0

как @MH вы можете добавить свойства 'android: paddingLeft/Right' с тем же значением' setVertical/HorizontalSpace'. Недостатком является то, что это значение является фиксированным, и если вы установите 'android: stretchMode =" spacingWidth ", изменение размера изменит только внутренние расстояния. – Batsu

+0

Добавление дополнения к GridView работает, как ожидалось. Однако, когда элементы начинают прокручиваться, прокладка остается фиксированной - то есть когда один из элементов висит над верхней частью экрана, есть белая (в моем случае) полоса между верхней частью экрана и элементом. Это выглядело бы лучше, если бы маржа была в элементе внутри GridView, но эти поля, похоже, не соблюдались. –

ответ

87

Вы можете использовать android:clipToPadding=false, чтобы добавить отступы, которые не остаются при прокрутке элементов. Как это

<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" /> 

И если вы хотите скроллбар на внешней стороне области заполнения, установите android:scrollbarStyle="outsideOverlay" благодаря @Karl!

+13

Также используйте: android: scrollbarStyle = "outsideOverlay". Это помещает полосу прокрутки в область заполнения. В противном случае это будет до заполнения. – Karl

+9

Это было невероятно сложно ** найти и не очень интуитивно понятно. Спасибо :) – eliocs

+0

Спасибо. Это также полезно для предотвращения того, что текущая выбранная строка не будет отключена от экрана из-за телевизионного сканирования. –

Смежные вопросы