2013-06-17 8 views
28

바깥 쪽 여백을 GridView 행에 추가하는 방법을 찾을 수 없습니다. Gridview 행 사이에 내부 패딩을 추가하는 setHorizontalSpacingsetVerticalSpacing 속성을 찾았지 만 행의 바깥 쪽 테두리에는 적용되지 않습니다.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

감사. TV 오버 스캔으로 인해 현재 선택된 행이 화면에서 벗어나지 않도록하는 데 유용합니다. –