2013-06-17 38 views
28

GridViewの行に外側の余白を追加する方法が見つかりません。私はsetHorizontalSpacingsetVerticalSpacing GridViewの行間に内側のパディングを追加するプロパティを見つけましたが、行の外側の境界には適用されません。GridViewの行の外側の余白

私はGoogle Playストアで特集だとして結果を持っているしたいと思います:

enter image description here

ありがとう!

+0

'GridView'にパディング(または余白)を追加しようとしましたか? –

+0

@MHとして 'android:paddingLeft/Right'プロパティを' setVertical/Horizo​​ntalSpace'と同じ値で追加することができます。欠点はこの値が固定されていることです。もし 'android:stretchMode =" spacingWidth "を設定すると、サイズ変更は内側の間隔だけを変更します。 – Batsu

+0

GridViewにパディングを追加すると、正常に動作します。しかし、アイテムがスクロールし始めると、パディングは固定されたままになります。つまり、アイテムの1つが画面の上部にぶら下がっていると、画面の上部とアイテムの間に白い(私の場合は)ストリップがあります。マージンが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のオーバースキャンのために現在選択されている行が画面外にならないようにするのにも役立ちます。 –

関連する問題