Ich habe seit einigen Tagen damit zu kämpfen und mir gingen die Ideen aus.Android ImageView erstreckt sich nicht vertikal in der ListView Zeile
In meiner Listenansicht kann jede Zeile einen vertikalen Balken haben, der je nach Status eine andere Farbe hat. Dieser "Balken" hat keinen anderen Zweck als die visuelle Darstellung des Status und ist nicht anklickbar.
Ich habe den vertikalen Balken mit einem ImageView mit Hintergrund auf ein Zeichen gesetzt, das die gewünschte Farbe hat. Das Problem ist, dass der vertikale Balken nicht dehnt, es ist nur 1 Pixel hoch, obwohl ich fill_parent angegeben habe.
Die Reihe Layout ist wie folgt:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<ImageView
android:id="@+id/id1"
android:scaleType="fitXY"
android:layout_width="5dp"
android:layout_height="fill_parent"
android:background="@drawable/d1" />
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/id1">
...
(Verlassen Inhalt des zweiten relativen Layout heraus Zweck der Einfachheit halber)
Meine ziehbar d1 wie folgt aussieht:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/c1" />
<corners android:topRightRadius="5dip" android:bottomLeftRadius="5dip" />
</shape>
So,
- Warum erstreckt sich das ImageView nicht vertikal?
- Gibt es eine bessere Möglichkeit, dies als mit einem ImageView zu implementieren? (I versucht, eine einfache Ansicht mit einem Hintergrundfarbe, aber es zeigt nicht überhaupt oben)
Jede Hilfe sehr geschätzt. Danke
Ich hatte ein relatives Layout, da es tatsächlich eine Textansicht über dem Objekt gibt, die ich weggelassen habe, um die XML für diesen Beitrag kurz zu halten. Ich habe die Posts von den Links gelesen, die Sie mir gegeben haben, und ich verwende bereits die korrekte Art, die Ansicht aufzublasen. Ich werde jedoch versuchen, das relative Layout durch mehrere LinearLayouts zu ersetzen, um zu sehen, ob das Problem behoben ist. –
Danke Yoni, dass er mich auf diese wertvollen SO-Threads hingewiesen hat. Das Ersetzen des Stammes RelativeLayout durch ein LinearLayout hat das Problem behoben. Ich bin mir nicht sicher, ob ich ein großer Fan dieser Lösung bin, da dies die Layout-Hierarchie komplexer als nötig macht, aber das könnte der einzige Weg sein, um es zum Laufen zu bringen. Ein Käfer? –