AndroidのGridViewで幅を自動調整する方法は何ですか?
Android GridViewを自動調整幅にするには、列幅を動的に計算する方法を使用することができます。以下は実装手順です:
- ダイナミックグリッドビュー
public class DynamicGridView extends GridView {
public DynamicGridView(Context context) {
super(context);
}
public DynamicGridView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public DynamicGridView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int widthSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
super.onMeasure(widthSpec, heightMeasureSpec);
}
}
- 動的グリッドビュー
<com.example.app.DynamicGridView
android:id="@+id/gridView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:numColumns="auto_fit"
android:columnWidth="120dp"
android:verticalSpacing="10dp"/>
- カラム幅
注意:上記のコードでは、columnWidth属性の値は固定されていますので、必要に応じて変更してください。