アプリケーションにグリッド ビューを実装しています。Java コードを使用して、グリッド ビュー内の連続する行間の水平方向の間隔と連続する列間の垂直方向の間隔を取得したいと考えています。
出来ますか?間隔を取得する直接的な方法はありますか?
Javaで試すこともできます
mGridView.setHorizontalSpacing(4);
mGridView.setVerticalSpacing(4);
またはXMLで
<GridView
android:layout_height="wrap_content"
android:id="@+id/gridView1"
android:layout_width="match_parent"
android:numColumns="auto_fit"
android:horizontalSpacing="4dp"
android:verticalSpacing="4dp">
minSdk が 16 の場合は、mGridView.getHorizontalSpacing()
またはを使用できますmGridView.getVerticalSpacing()
。
そうでない場合は、xml レイアウトandroid:verticalSpacing="@dimen/grid_spacing"
とコード use で設定できますgetResources().getDimensionPixelSize(R.dimen.grid_spacing)
。
このように、サイズを 1 か所で変更するだけで、xml レイアウトとコードの両方に影響を与えることができます。
/res/values/dimens.xml 内に次の行を追加します -
<dimen name="grid_spacing">10dp</dimen>