разделители / разделители строк сетки андроида

Есть ли способ показать (горизонтальные) разделители между строками в gridview?

Я попытался поместить небольшое разделительное изображение ниже каждого элемента сетки, но это не решение, потому что оно не будет охватывать всю строку, если строка не заполнена предметами.

Есть ли способ добавить изображение между каждой строкой? Я могу найти методы для изменения пространства между строками.

Если вы используете настраиваемый макет для элементов сетки. Ниже будет работать код.

Шаг 1. Дайте цвет фона GridView

Это будет служить разделителем.
Дайте horizontalSpacing и verticalSpacing как 1dp
backgroundColor будет вашим цветом разделителя.

  1  

Шаг 2. Дайте цвет фона в макет элемента пользовательской сетки.

Это будет основным цветом для GridItems.
В моем случае я сохранил его белый (#fff)

      

результат

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

Заметка:
Если вы не хотите вертикальный разделитель, держите horizontalSpacing = 0dp
Если вам не нужен горизонтальный разделитель, держите verticalSpacing = 0dp

Я закончил создание настраиваемого gridview, что-то вроде этого:

https://stackoverflow.com/a/9757501/1310343

используя фоновое изображение, которое точно так же высоко, как один элемент в моем gridview, и имеет дрейдер внизу.

Работает как шарм!

Просто хотел поделиться тем, как я это сделал, используя ссылку, принятую OP. Для моего случая мне также нужно было контролировать длину разделителей, поэтому я не мог обойти подclassификацию GridView .

 public class HorizontalSeparatorGridView extends GridView { // Additional methods @Override protected void dispatchDraw(Canvas canvas) { final int count = getChildCount(); for(int i = 0; i < count; i++) { View child = getChildAt(i); int bottom = child.getBottom(); int left = child.getLeft(); int right = child.getRight(); Paint paint = new Paint(); paint.setColor(0xffececec); paint.setStrokeWidth(Math.round(0.5 * density)); int offset = // Some offset canvas.drawLine(left + offset, bottom, right - offset, bottom, paint); } super.dispatchDraw(canvas); } 

Я подclassифицировал dispatchDraw а не onDraw чтобы быть в безопасности, но я не думаю, что это имеет значение в этом случае.

Я предлагаю сделать следующее:

`

              ` 
  • Android-приложение для переноски для Android: srcCompat не показывает изображения
  • Требуется ли в Интернете интернет?
  • Быстрые способы импорта чертежей в Android Studio?
  • Изменение контактной информации
  • Как я могу настроить фокус (и отображать клавиатуру) на моем EditText программно
  • Что такое «Контекст» на Android?
  • Фрагменты Android: когда использовать скрыть / показать или добавить / удалить / заменить?
  • Просмотр с горизонтальным и вертикальным панорамированием / drag and dropм и усилением
  • Как установить тайм-аут в библиотеке дооснащения?
  • Определение процентной ширины для LinearLayout?
  • Сделать гиперссылку textview в android
  • Interesting Posts

    Windows Update не может установить пакет обновления 1 (SP1) для Windows Vista

    Android Текст поверх изображения

    Почему SimpleDateFormat анализирует неправильную дату?

    GNU C ++ как проверить, когда -std = c ++ 0x действует?

    Ошибка миграции Laravel: ошибка синтаксиса или нарушение доступа: 1071 Указанный ключ был слишком длинным; максимальная длина ключа – 767 байт

    c ++ быстрый способ читать только последнюю строку текстового файла?

    Найти число в отсортированной матрице (строки n столбцов) в O (log n)

    Сделать любое оконное приложение «Always On Top» без сочетания клавиш?

    GridView с двумя столбцами, шириной заливки

    Обновление Bootstrap до версии 3 – что мне делать?

    Изменение содержимого div – jQuery

    Почтовая программа Windows 10 никогда не синхронизируется автоматически

    Зачем мне нужен ./ для команд для запуска на Mountain Lion?

    Вложенные атрибуты неперечисленные параметры

    Первое диалоговое окно после проверки подлинности немедленно завершается и закрывает диалог

    Давайте будем гением компьютера.