GridView и заполнение лишним пространством

У меня проблема с макетом представления сетки на 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 версия - не работает.

enter image description here

Кто-нибудь знает, как устанавливать изображения в gridview без каких-либо специальных отступов или пробелов для успешной работы со всеми разрешениями и устройствами?

10
задан petrnohejl 9 October 2011 в 17:48
поделиться