2013-06-17 32 views
28

GridView satırlarına bir dış kenar boşluğu eklemenin bir yolunu bulamıyorum. GridView satırları arasında iç dolgu ekleyen setHorizontalSpacing ve setVerticalSpacing özelliklerini buldum, ancak satırların dış kenarlıkları için geçerli değil.GridView satırları dış kenar boşluğu

Ben Google Play mağazasından özelliği de olduğu gibi bir sonuç almak istiyorum:

enter image description here

Teşekkür!

+0

“GridView” öğesine dolgu (veya kenar boşluğu) eklemeyi denediniz mi? @MH olarak –

+0

olarak "android: paddingLeft/Right" özelliklerini "setVertical/HorizontalSpace" ile aynı değere ekleyebilirsiniz. Dezavantajı bu değerin sabit olmasıdır ve eğer 'android: stretchMode = "spacingWidth" 'seçeneğini ayarlarsanız, yeniden boyutlandırma sadece iç boşlukları değiştirecektir. – Batsu

+0

GridView'a dolgu eklemek, beklendiği gibi çalışır. Ancak, öğeler kaydırmaya başladıklarında dolgu sabit kalır - yani ekranın üst kısmından bir tanesi çıkarıldığında, ekranın üst kısmı ile öğenin arasında bir beyaz (benim durumumda) şerit bulunur. Kenar boşluğu GridView öğesindeki öğenin üzerindeyse daha iyi görünebilirdi, ancak bu kenar boşluklarına saygı gösterilmiyor. –

cevap

87

Öğeler kaydırıldığında kalmayan dolgu eklemek için android:clipToPadding=false'u kullanabilirsiniz. Eğer dolgu alanının dışına kaydırma çubuğunu istiyorsanız bu

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

gibi Ve android:scrollbarStyle="outsideOverlay" sayesinde @Karl set!

+13

Ayrıca şunu kullanın: android: scrollbarStyle = "outsideOverlay". Bu, kaydırma çubuğunu doldurma alanına koyar. Aksi takdirde dolgudan önce olacaktır. – Karl

+9

Bu son derece zor ** bulmak ve çok sezgisel değil **. Teşekkürler :) – eliocs

+0

Teşekkürler. Bu, aynı zamanda seçili olan sıranın televizyonda aşırı tarama nedeniyle ekran dışı olmamasını önlemek için de kullanışlıdır. –