Android - Как показать вертикальную линию на фоне ListView (и в соответствии с высотой строки)?

Как показать вертикальную линию на фоне, например, выделенную синим цветом на изображении ниже?

В этом примере у меня есть ListView с элементами ImageView (и TextView, но он не связан с линией), и я хочу, чтобы вертикальная линия на фоне этих элементов чувствовала, что они «связаны» с каждым из них.

А также обратите внимание, что вертикальная линия не заполняет весь фон.

Вертикальная линия слева, и она не одинакова для всех случаев. Иногда он заполняет всю высоту строки (в большинстве строк ListView), а иногда он просто заполняет половину высоты строки (в последнем элементе ListView и вне ListView, сверху, где мы можем видеть большой ImageView с значок звезды).

обновленный

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

<RelativeLayout 
android:layout_width="40dp"
android:layout_height="match_parent"
android:gravity="center"
android:layout_marginLeft="15dp">

<View
    android:layout_width="4dp"
    android:layout_height="match_parent"
    android:background="#3399CC"
    android:gravity="center"
    android:layout_centerHorizontal="true"/>

<ImageView
    android:id="@+id/user_image"
    android:layout_width="40dp"
    android:layout_height="40dp"
    android:layout_marginTop="10dp"
    android:layout_marginBottom="10dp"
    android:gravity="center"
    android:background="@android:color/holo_blue_light" >
</ImageView> 
</RelativeLayout>

RelativeLayout с width = "40dp" (такой же, как у исходного ImageView, с которым я работал), height = "match_parent (такой же, как он сказал), gravity =" center "(чтобы они находились в центре высоты строки ) и layout_marginLeft = "15dp" (чтобы оставить пробел в левом поле). В ImageView я добавил marginTop = "10dp" и marginBottom = "10dp", а вместе с ним появляется синяя вертикальная линия. Но у меня есть другие элементы в одной строке, поэтому у меня есть родительский макет (линейный макет). Мой родительский макет:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    android:gravity="center"
    android:id="@+id/linearlayoutservicerow">

Итак, этот родительский макет выше, имеет описанный RelativeLayout и другие LinearLayout с другими элементами строки. Но код приводит ксплющенные изображения, Почему это происходит ?! Похоже, что RelativeLayout рассматривает свою высоту как высоту ImageView (40dp) и учитывает его marginTop и marginBottom, и с этим изображение сглаживается.

Жду больше ответов на эту проблему. Я попробую другие альтернативы.

Ответы на вопрос(4)

Ваш ответ на вопрос