Как предоставить отдельную границу линии для gridview android

Я создал gridview с адаптером клиента. Чтобы предоставить каждую границу ячеек, я разместил их в двух макетах. Первый макет имеет черный bg, а второй макет – белый bg и содержимое. И я дал родительский макет 1dp отступов, который дал вид границы

Но проблема в том, что, когда две ячейки встречаются вертикально, их размер границы становится равным 2dp, т. Е. Нижняя граница одной ячейки сливается с верхней границей другой ячейки.

Но мне нравится создавать границу, как в данном изображении

Пограничный пример

Вот код xml-файла моей текущей ячейки

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/layBorder" android:layout_width="77dp" android:layout_height="wrap_content" android:background="#000000" android:orientation="vertical" android:padding="1dp" > <FrameLayout android:id="@+id/FrameLayout1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#FFFFFF" > <ImageView android:id="@+id/ivElementName" android:layout_width="40dp" android:layout_height="60dp" android:layout_gravity="center_vertical|center_horizontal" android:layout_margin="1dp" android:adjustViewBounds="true" android:background="#00000000" android:maxHeight="60dp" android:maxWidth="40dp" android:minHeight="60dp" android:minWidth="40dp" /> <ImageView android:id="@+id/ivElementImg" android:layout_width="30dp" android:layout_height="30dp" android:layout_gravity="bottom|center_vertical|center_horizontal" android:layout_marginLeft="1dp" android:layout_marginRight="1dp" android:adjustViewBounds="true" android:background="#00000000" android:baselineAlignBottom="true" android:cropToPadding="true" android:maxHeight="30dp" android:maxWidth="30dp" android:minHeight="30dp" android:minWidth="30dp" android:visibility="invisible" /> </FrameLayout> </LinearLayout> 

Вы должны сделать следующее:

  • Установите цвет фона вашего gridview, это будет цвет рамки
  • Задайте цвет фона вашего элемента сетки по мере необходимости.
  • Установите вертикальное и горизонтальное расстояние, это будет толщина границы

И не забудьте изменить высоту макета элемента сетки как match_parent

 GridView gv = findViewById(R.id.my_grid_view); gv.setBackgroundColor(Color.WHITE); gv.setVerticalSpacing(1); gv.setHorizontalSpacing(1); 
Intereting Posts
Android: NavigationDrawer / несколько действий / одно и то же меню Ограничение количества строк в функции ContentResolver.query () Как работать с Tensorflow на платформе Android? Пользовательский фон для activeBackgroundIndicator на ActionBarSherlock не работает Элементы меню не отображаются в «ШерлокеФрагмент» с вкладками AndroidHttpClient Nullpointerexception, вызывающий android.net.http.AndroidHttpClient.isMmsRequest Нижний колонтитул RecyclerView для заполнения родительского элемента Доступ к внутреннему хранилищу телефона для ввода файла базы данных SQLite Почему анимации просмотра иногда обрезаются? Как использовать параметр пакетной передачи для пейджинга в разработке facebook android Загрузка видео в VideoView без мгновенного воспроизведения Отключить разрешения зависимостей Проблема сборки Gradle: обновление Quickblox и httpclient на последних Android SDK23 Отображение активности (диалог темы) отображается над номером Dialer в lockscreen? Получите плагин Android и графический интерфейс для совместной работы / командной строки