2009-12-21 13 views
15

Ich suche nach einer Möglichkeit, meinen Text um meine Bildansicht zu positionieren (so wie die CSS float left/right).ImageView und TextView float (links/rechts) Android

Wie kann ich das in Android tun? Ich habe android:layout_alignParentLeft="true" (positionieren meine Imageview links) und android:layout_alignParentRight="true" für meine Textview verwendet, aber die Textview zu dem Imageview als nächstes kommt und nicht unter dem Image nicht weiter, wenn ich einen langen Text haben ..

Irgendwelche Ideen?

Antwort

0

Sie benötigen RelativeLayout als Container

+0

ja ich verwende RelativeLayout als umgebendes Layout .. aber es funktioniert nicht: s – wouter88

1

ich auch viele Möglichkeiten, aber kein Glück versucht haben, zu verwenden. Ich glaube nicht, dass Text im aktuellen Android fließen würde wie in HTML.

+0

wäre es möglich, wenn ich formatierten Text mit html und Tag mit float verwende: links drin? – wouter88

+1

nicht sicher, welchen Pfad in "src" -Wert zu setzen, obwohl ... – hwii77

4

Ich hatte das gleiche Problem beim Versuch, ein ImageView auf der linken Seite eines RelativeLayout ausgerichtet zu bekommen. Ich benutzte Android: scaleType = "fitStart", um es zu beheben.

Meine XML-Datei:

<RelativeLayout 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:orientation="horizontal" 
     android:layout_height="fill_parent" 
     android:layout_width="fill_parent" 
     android:padding="10dp"> 
    <ImageView 
     android:layout_height="50dp" 
     android:id="@+id/country_icon" 
     android:layout_alignParentLeft="true" 
     android:layout_width="wrap_content" 
     android:scaleType="fitStart" />   
</RelativeLayout> 
0

Es gibt keine einfache Möglichkeit, dies zu tun bekommen. Sie können entweder zwei Textansichten verwenden, eine neben der Bildansicht und eine unterhalb der Bildansicht. Und wenn Sie Glück haben, ein Bild mit konstanter Größe zu erhalten, um das Sie den Text wickeln müssen (ich war), berechnen Sie die Anzahl der Zeichen, die in die Textansicht neben dem Bild passen würden, und zerlegen Sie Ihre Zeichenfolge in zwei Teile. Stellen Sie nur sicher, dass Sie den Text nicht in der Mitte eines Wortes aufteilen.

Ich hatte auch versucht mit HTML, aber dafür musste ich ein Webview verwenden, es war schwer und dreckig. Bevorzugt die Splitting-Textversion.

0

Sie haben zwei Möglichkeiten:

  1. Mit Linearlayout, Setzen der Orientierung zur Horizontalen so das Bild zuerst und dann den Rest kommen.
  2. Mit RelativeLayout, dort können Sie die Position eines Elements relativ zum anderen mit den Attributen des Stils android zeigen: layout_toLeftOft, android: layout_toRightOf, android: layout_below oder android: layout_alignParentTop, ...

Es ist jedoch nicht so flexibel wie CSS für einige Aktionen und zum Beispiel ist das Umbrechen von Text um ein Bild nicht so einfach zu erreichen.