2009-12-21 7 views
15

Je cherche un moyen de positionner mon texte autour de mon imageview (donc comme le flotteur css gauche/droite).ImageView et TextView float (gauche/droite) Android

Comment puis-je faire cela sous Android? Je l'ai utilisé android:layout_alignParentLeft="true" (pour placer ma imageview gauche) et android:layout_alignParentRight="true" pour mon textview mais le textview est à côté de la imageView et ne continue pas sous le ImageView quand j'ai un long texte ..

Toutes les idées?

Répondre

0

Vous devez utiliser RelativeLayout comme conteneur

+0

oui j'utilise RelativeLayout comme mise en page environnante .. mais il ne fonctionne pas: s – wouter88

1

J'ai aussi essayé plusieurs façons, mais pas de chance. Je ne pense pas que le texte circulerait dans l'Android actuel comme il le fait en html.

+0

Serait-il possible si j'utilise du texte stylisé avec html et tag avec float: gauche dedans? – wouter88

+1

pas sûr quel chemin à mettre dans la valeur "src" si ... – hwii77

4

J'ai rencontré le même problème en essayant d'aligner ImageView à gauche d'un RelativeLayout. J'ai utilisé Android: scaleType = "fitStart" pour le faire réparer.

Mon fichier XML:

<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

Il n'y a pas moyen facile de réaliser ce but. Vous pouvez utiliser 2 vues de texte, une à côté de l'imageview et une en dessous de l'imageview. Et si vous avez de la chance d'obtenir une image de taille constante autour de laquelle vous devez envelopper le texte (je l'étais), calculez le nombre de caractères qui correspondrait à la vue de texte à côté de l'image et divisez votre chaîne en deux parties. Assurez-vous juste que vous ne divisez pas le texte au milieu d'un mot.

J'avais aussi essayé d'utiliser html, mais pour cela j'ai dû utiliser un webview, c'était lourd et sale. Préféré la version de texte de fractionnement.

0

Vous avez deux options:

  1. Avec LinearLayout, réglage de l'orientation à l'horizontale afin que l'image est d'abord, puis viennent le reste.
  2. Avec RelativeLayout, là, vous pouvez indiquer la position d'un élément par rapport à l'autre avec les attributs du style android: layout_toLeftOft, android: layout_toRightOf, android: layout_below ou android: layout_alignParentTop, ...

Cependant, il n'est pas aussi flexible que CSS pour certaines actions et, par exemple, l'encapsulation de texte autour d'une image n'est pas si facile à réaliser.