У меня проблема с макетом представления сетки на Android. Я не могу найти решение, чтобы убрать лишнее пространство в представлении сетки.Я пробовал много вещей (numColumns, columnWidth, stretchMode, gravity) и советов (из StackOverflow), но ничего не работает правильно. Я потратил на эту проблему почти 8 часов. Вот код вида сетки:
<GridView
android:id="@+id/lookbook_gridview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:listSelector="@null"
android:padding="0dip"
android:layout_margin="0dip"
android:verticalSpacing="0px"
android:horizontalSpacing="0px"
android:numColumns="auto_fit"
android:columnWidth="160px"
android:stretchMode="columnWidth"
android:gravity="center"
android:layout_gravity="center"
android:background="#000"
android:cacheColorHint="#000"
android:descendantFocusability="afterDescendants"
android:layout_alignParentTop="true"
android:layout_above="@id/buttons">
</GridView>
Я также пытался программно уменьшить лишнее пространство:
private void setGridview()
{
GridView gridview = (GridView) findViewById(R.id.lookbook_gridview);
Display display = ((WindowManager) getSystemService(WINDOW_SERVICE)).getDefaultDisplay();
int gridSize = display.getWidth();
int count = gridSize / 160; // image has 160x160 px
int colWidth = (gridSize / count) - PADDING;
gridview.setColumnWidth(colWidth);
gridview.setNumColumns(count);
}
Но он работает только на моем HTC Desire (справа), но на эмуляторе (слева) с тем же разрешением экрана и тем же API версия - не работает.
Кто-нибудь знает, как устанавливать изображения в gridview без каких-либо специальных отступов или пробелов для успешной работы со всеми разрешениями и устройствами?