2010-11-15 8 views
4

J'ai un petit problème d'écrêtage que je n'ai pas réussi à résoudre en utilisant une vue EditText dans un TableRow. Quoi que j'essaie, la vue EditText est soit tronquée (capture d'écran jointe), soit, si je place shrinkColumns à 0 ou 1, le texte de l'étiquette disparaît (et la vue EditText occupe toute la largeur). La mise en page est la suivante:Problème d'écrêtage de texte Android avec EditView dans un TableLayout

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" android:layout_height="fill_parent" 
android:orientation="vertical" android:padding="10dip"> 

    <TableLayout android:orientation="vertical" 
    android:layout_width="fill_parent" android:layout_height="fill_parent"> 

    <TableRow android:orientation="horizontal" 
    android:layout_width="fill_parent" android:layout_height="wrap_content"> 

     <TextView android:paddingRight="10dip" android:layout_column="1" 
     android:text="Label Text" /> 
     <EditText android:text="Very long text that makes the text view go on clipping frenzy" 
     android:layout_width="wrap_content" android:layout_height="wrap_content" /> 

    </TableRow> 

    </TableLayout> 

</LinearLayout> 

Je l'ai essayé sur un émulateur en cours d'exécution à 2.2 QVGA et HVGA, un HTC Hero sur 2.1 et le Wildfire 2.1 sur aussi bien. J'ai aussi joué avec l'attribut clipToPadding qui ne semble pas aider dans mon cas. Le même problème apparaît si je mets l'attribut hint avec un texte long et laisse la valeur de texte vide.

Comme je ne fais rien de particulièrement complexe, je suspecte une simple erreur de mon côté. Toutes les idées, astuces ou suggestions sont très appréciées.

À la votre!

alt text

+0

vous devriez d'abord essayer d'accepter une réponse, il est bon pour vous d'avoir une réponse rapide –

Répondre

7

Set android: shrinkColumns = "1" sur votre TableLayout et supprimer android: layout_column = "1" du TextView.

+0

Merci! Cela a fonctionné parfaitement. J'ai fini par utiliser setColumnShrinkable (1, true) pour éviter de réduire l'étiquette. –

1

Ajouter android: layout_weight = "1", à votre EditText, il a fallu un certain temps pour le résoudre ..........

Mais ne savent pas la raison pour elle ... ....

Questions connexes