Intereting Posts
Программно введите секретный код, например * # * # 4636 # * # * на Android Как импортировать внешний шрифт / шрифт в ANDROID STUDIO? Android: получил CalledFromWrongThreadException в onPostExecute () – Как это могло быть? Как сделать условный invalidateOptionsMenu () вызов в зависимости от уровня API в Android? Как я обнаружу датчик движения в широковещательном приемнике? Настроить фокус большого пальца и нажимать на пользовательскую панель поиска программно Android ScaleAnimation и TranslateAnimation, как избежать движения ScaleAnimation Добавить поведение прокрутки в строке приложения на несколько просмотров в CoordinatorLayout Проект библиотеки Android: Obfuscate и сохранить ресурсы Изменение состояния ToggleButton программно, а не автоматически в Android? Проверка предпочтений Android EditText Анимировать listView только после их появления Android ProgessBar при загрузке WebView Как войти в facebook в WebView, если у вас уже есть токен доступа из FB SDK в Android Зафиксируйте ориентацию до окончания работы Asynctask

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 – он не работает.

Введите описание изображения здесь

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

Solutions Collecting From Web of "GridView и избыточное пространство"

Чтобы решить мою проблему, я использовал этот gridView:

 <GridView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/MyGrid" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="0dp" android:verticalSpacing="2dp" android:horizontalSpacing="2dp" android:scrollingCache="true" android:smoothScrollbar="true" android:clipChildren="true" android:alwaysDrawnWithCache="true" android:numColumns="auto_fit" android:columnWidth="100dp" android:stretchMode="columnWidth" android:gravity="center_horizontal" android:background="#000000"> </GridView> 

Самое главное – свойство clipChildren .