さて、私が以前のコメントで説明しようとしていたこと:GridView
あなたが望む間隔を調整する代わりに、グリッドアイテムにそれを処理させてみませんか?これを簡単に解決する方法の1つは、適切なドローアブルを背景として、アダプターの入力/受け渡しを使用しているレイアウトファイルに設定することです。GridView
つまり、グリッドアイテムに使用するレイアウト(この場合はあなたが言及した断片。
簡単な例:
を取るGridView
:
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gridview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:color/white"
android:numColumns="4" />
そして、その中のアイテムに使用されるレイアウト:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/grid_background"
android:gravity="center"
android:text="Text"
android:textColor="@android:color/white" />
そして最後に、背景のドローアブルからの魔法:
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke android:width="5dp" android:color="@android:color/white" />
<padding android:bottom="5dp" android:left="5dp" android:right="5dp"
android:top="5dp" />
<solid android:color="@android:color/black" />
</shape>
結果は次のようになります。
ちなみに、水平方向と垂直方向の間隔パラメータが機能しない理由はわかりません。これらを使用すると、上の画像と非常によく似た効果を得ることができます。
GridView
:
<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gridview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:color/white"
android:horizontalSpacing="10dp"
android:numColumns="4"
android:verticalSpacing="10dp" />
アイテムのレイアウト(以前の背景リソースを固定色に交換しただけです):
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/black"
android:gravity="center"
android:text="Text"
android:textColor="@android:color/white" />
結果:
これがあなたの途中であなたを助けることを願っています。