Android gridview, как убрать пробелы между элементами сетки - PullRequest
1 голос
/ 30 сентября 2011

Я пытаюсь использовать GridView для достижения эффекта мозаики. Все элементы сетки - это изображения, похожие на Gri 2 в примере APIDemo. Проблема в том, что между изображениями всегда есть промежутки, даже после того, как все отступы и интервалы установлены на 0. Я пропустил некоторые другие настройки, чтобы убрать пробел? Я хочу, чтобы изображения были рядом друг с другом.

Я установил ширину столбца как 120dip. Вот мой код для установки ширины изображения в 120dip:

mTileWidth = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 120, r.getDisplayMetrics());

Есть ли проблема?

Спасибо!

Ответы [ 5 ]

3 голосов
/ 03 декабря 2012

Это очень старый вопрос, и я отвечаю на него только для того, чтобы улучшить мою оценку :) В конце я просто вычислил ширину экрана и разделил ее на количество столбцов, и использовал результат в качестве ширины для одного элемента. Я хочу в ряд. Это решило проблему. Ответ от mmmmm5, возможно, правильный: пробел - это отступ, добавленный андроидом, нам просто нужно обойти его.

1 голос
/ 24 сентября 2014

Есть еще одно рабочее решение. Возвращая представление из метода getView() в адаптере для GridView, необходимо установить параметры макета следующим образом:

view.setLayoutParams(new GridView.LayoutParams(
    TableLayout.LayoutParams.MATCH_PARENT, 
    TableLayout.LayoutParams.MATCH_PARENT));
1 голос
/ 30 сентября 2011

Если вы посмотрите на исходный код Android для контактов, будет создан пользовательский класс GridView. Просматривая быстро, есть настройки для заполнения и т. Д. Возможно, это ответ на ваш вопрос

0 голосов
/ 23 августа 2017

Или даже проще, в xml моей ячейки я поместил следующие параметры в представление корня

    android:layout_width="match_parent"
    android:layout_height="match_parent"

и настройте мой gridview следующим образом:

   <GridView
    android:id="@+id/gridview_type"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:stretchMode="columnWidth"
    android:numColumns="3"
    tools:listitem="@layout/cell_type"
    />
0 голосов
/ 30 сентября 2011

Если заполнение не добавлено в ваш адаптер, посмотрите на ваш XML. Посмотрите на android: stretchMode, а также android: verticalSpacing и android: horizontalSpacing.

    <GridView xmlns:android="http://schemas.android.com/apk/res/android" 
        android:id="@+id/gridview"
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent"
        android:columnWidth="14dp"
        android:numColumns="auto_fit"
        android:verticalSpacing="10dp"
        android:horizontalSpacing="10dp"
        android:stretchMode="columnWidth"
        android:gravity="center"
    />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...