TableRow -> Image View -> Gravity wird ignoriert

T

Tom299

Stammgast
122
Hi Leute,

ich ärger mich mal wieder schwarz über die Layout-Probleme bei Android:

Code:
	    <TableRow
	  		android:id="@+id/application_details_status_row" 
			android:layout_width="match_parent" 
	   		android:layout_height="wrap_content">
	     	<TextView 
		    	android:id="@+id/application_details_tv_status_label" 
		    	android:layout_width="0dp"
		    	android:layout_weight="0.35"
		    	android:layout_height="wrap_content" 
		    	android:paddingLeft="13dp"
		    	android:singleLine="true"
		    	android:textAppearance="@android:style/TextAppearance.Medium"
		    	android:text="@string/status"
		    	android:background="@color/background_blue"
	    	/>
	      	<ImageView 
		    	android:id="@+id/application_details_iv_status" 
		    	android:layout_width="0dp"
		    	android:layout_weight="0.65"
		    	android:layout_height="wrap_content"
		    	android:paddingLeft="13dp"
		    	android:layout_gravity="left"
		    	android:background="@color/background_red"
		   	/>
	    </TableRow>

Das TableLayout enthält mehrere TableRows, alle haben 2 TextViews, eine mit Weight 0.35 und eine mit Weight 0.65. Das funktioniert auch wunderbar, denn die TextViews sind standardmäßig vermutlich mit Gravity Left gesetzt.

Nur die eine Zeile, wo ich anstatt der 2. TextView eine ImageView benutze, wird IMMER zentriert, egal ob ich in layout_gravity left oder right eingebe.

Hab auch schon width auf match_parent versucht, bringt aber alles nix. Den Hintergrund der beiden Views hab ich blau und rot gemacht, damit ich sehe, welchen Platz die Views einnehmen. Der Platz stimmt, 35% und 65%. Aber trotzem ist die Grafik meiner ImageView IMMER zentriert ...

Hat jemand einen Tip für mich? Project Clean hab ich schon gemacht, weiß gar nicht, wie oft ...


Gruß,
Tom
 
Ich versteh kein Problem ehrlich gesagt nicht 100%.
Wie soll das ganze denn aussehen?

Wie groß ist das Bild in der imageView?
du hast ja auch paddingLeft gesetzt.
Ist das vielleicht der Grund?

Wie gesagt ich versteh gerade nicht was jetzt genau zentriert wird, wenn du sagst die hintergrundfarben passen, dann ist zumindest die Imageview an sich ja richtig im layout.

ich meine das Bild selbst kann man nur zentrieren, wenn das Bild von der Größe nicht genau in die Imageview passt dann gibt es da ein Rand.
 
Das ist ein kleines Status-Icon, rote oder grüne Ampel mit 24*24 Pixel.

Stell dir vor die Tabellen-Ansicht sollte am Ende so aussehen:
Text1: Blabla
Text2: Blublu
Text3: Abrakadabra
Text4: X <- Das X sollte das Icon sein und halt linksbündig mit den Texten der 2. Spalte sein

Es sieht aber so aus:
Text1: Blabla
Text2: Blublu
Text3: Abrakadabra
Text4: X <- Das Icon ist zentriert innerhalb der Spalte und läßt sich einfach nicht mit layout_gravity auf left ändern, es steht immer zentriert.

Hab jetzt aber nen Workaround gemacht:
Hab hinter das Icon noch eine unsichtbare TextView gemacht, dann kommt es hin. Ist aber ne blöde Lösung wie früher in Swing, dachte Android ist besser ;-)
 

Ähnliche Themen

M
  • MikelKatzengreis
2
Antworten
29
Aufrufe
928
jogimuc
J
4
Antworten
0
Aufrufe
708
469110
4
HoerMirAuf
Antworten
3
Aufrufe
852
jogimuc
J
Zurück
Oben Unten