Android - Jak wyświetlić pionową linię na tle ListView (i zgodnie z wysokością wiersza)?

Jak wyświetlić pionową linię na tle, na przykład podświetloną na niebiesko na obrazku poniżej?

W tym przykładzie mam ListView z elementami ImageView (i TextView, ale nie jest on związany z linią) i chcę, aby pionowa linia na tle tych elementów miała wrażenie, że są „połączone” z każdym z nich.

Zauważ też, że pionowa linia nie wypełnia całego tła.

Linia pionowa znajduje się po lewej stronie i nie jest równa dla wszystkich przypadków. Czasami wypełnia całą wysokość wiersza (w większości wierszy ListView), a czasami po prostu wypełnia połowę wysokości wiersza (w ostatnim elemencie ListView i poza ListView, na górze, gdzie możemy zobaczyć duży ImageView z ikona gwiazdki).

Zaktualizowano

Spróbowałem sugestii zaproponowanej przez Hellboya i prawie działa idealnie. Zmodyfikowałem proponowany kod dla mojej sprawy:

<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 o szerokości = "40dp" (taki sam jak oryginalny ImageView, z którym pracowałem), height = "match_parent (tak samo jak powiedział), gravity =" center "(aby pozwolić im na środek wysokości wiersza ) i layout_marginLeft = "15dp" (aby zostawić spację na lewym marginesie). W ImageView dodałem marginTop = "10dp" i marginBottom = "10dp", a wraz z nim pojawi się niebieska pionowa linia. elementy w tym samym wierszu, więc mam układ nadrzędny (układ liniowy). Mój układ nadrzędny to:

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

Tak więc powyższy układ nadrzędny ma opisany RelativeLayout i inny LinearLayout z innymi elementami wiersza. Ale kod powodujespłaszczone obrazy. Dlaczego to się dzieje?! Wygląda na to, że RelativeLayout bierze pod uwagę jego wysokość jako wysokość ImageView (40dp) i bierze pod uwagę jego marginTop i marginBottom, dzięki czemu obraz jest spłaszczony.

Czekam na więcej odpowiedzi na ten problem. Spróbuję innych alternatyw.

questionAnswers(4)

yourAnswerToTheQuestion