2010-09-07 12 views
0

J'ai un problème critique lié à la hauteur de TextView. Je veux définir la hauteur de TextView en fonction du contenu défini lors de l'exécution. Voici mon code xml: -Android - Définir la hauteur à TextView de façon dynamique

<TextView android:id="@+id/tv" 
      android:layout_width="fill_parent" android:layout_height="wrap_content"/>` 

Voici le code Java pour définir la hauteur de la TextView:

TextView tv = (TextView) findViewById(R.id.tv); 
tv.invalidate(); 
int height_in_pixels = tv.getLineCount() * tv.getLineHeight(); 
tv.setHeight(height_in_pixels); 

Mais le problème est qu'il affiche seulement 1 ligne, et non le reste de les lignes.

Répondre

3

En code Java:

TextView tv = (TextView) findViewById (R.id.tv);

tv.invalidate(); 

int height_in_pixels = tv.getLineCount() * tv.getLineHeight(); 

tv.setHeight(height_in_pixels); 

ces lignes sont indésirables dans le code java. En XML vous-même, vous avez mentionné le layout_height="wrap_content". alors pourquoi vous réglez à nouveau la hauteur du TextView. et Assurez-vous que android:singleLine="false" dans le <textview>. Si vous ne définissez rien, sa valeur par défaut est false.

+0

J'ai essayé, mais cela ne fonctionne pas encore. – RATTLESNAKE

+0

@RATTLESNAKE: Alors le problème est dans votre entrée :)). pouvez-vous poster votre capture d'écran sur votre question? – Praveen

1

Mais le problème est; il affiche seulement 1 ligne, et pas le reste des lignes.

Je pense que la meilleure solution est de définir votre textview dans le "ScrollView".

Par exemple:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    > 

    <ScrollView 
     android:id="@+id/ScrollView01" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"> 

    <TextView 
      android:text="@+id/TextView01" 
      android:id="@+id/TextView01" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content"> 
    </TextView> 
    </ScrollView> 

</LinearLayout> 
Questions connexes