Cómo dar un borde de una sola línea a gridview android

He creado gridview con adaptador de cliente. Para dar a cada celda el borde, los he colocado en dos diseños. El primer diseño tiene bg negro y el segundo diseño tiene bg blanco y contenido. y le he dado al diseño principal el relleno de 1dp, que tiene un aspecto de borde

pero el problema es que cuando dos celdas se encuentran verticalmente, su tamaño de borde se convierte en 2dp, es decir, el borde inferior de una celda se fusiona con el borde superior de otra celda.

Pero me gusta crear bordes como en la imagen dada.

Aquí está el código del archivo xml de mi celda actual

<?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>

Respuestas a la pregunta(1)

Su respuesta a la pregunta