저 같은 경우에는 GridView 에 Adapter 장착할때,
화면 총사이즈 체크해서 gridview 의 item 하나당
최대/최소 크기(미리 계산해서 정의해둔 크기) 에 맞춰서
column 수를 조절하고 있습니다.
그냥 흐름만 보시라고 제 소스 일부분 남겨봅니다.
int cols = displayWidth / (AdapterGV.ITEM_WIDTH + 10); // 화면 크기에 따라 컬럼의 숫자를 계산해서..
if (cols < 3) { // 저는 최소 3개 이상으로 표현하고자 했습니다.
cols = 3;
// 커스텀한 adapter 에 제가 정의한 메소드로 화면 크기에
// 맞춰서 아이템의 사이즈를 직접 정의하고 있습니다.
mAdapterGV.setItemWidth((int) ((width / 3) * (6.f / 7)));
}
mGridView.setNumColumns(cols); // GridView 기본 API