2012-09-03 3 views
0

J'ai un LinearLayout avec TableLayout et LinearLayout à l'intérieur. TableLayout est constitué de 5 TableRow s. Chaque TableRow est constitué de deux objets View.Android TableLayout wrap contenu

colonne Firt a deux TextView s, mon problème est que le texte de TexView est enveloppé: le mot « SomeValue » est enveloppé, la lettre « e » est une nouvelle ligne dans, je voudrais le tout en une rangée, dans ce cas et en général, quel est le modèle? exemple:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:gravity="center" 
    android:orientation="vertical" 
    android:padding="@dimen/padding_small" 
    android:id="@+id/layout1"> 
    <TableLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center_horizontal|top" 
     android:stretchColumns="0,true" 
     android:shrinkColumns="*,true"> 
     <TableRow 
      android:id="@+id/tableRow1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:gravity="center"> 
      <TextView 
       android:id="@+id/textView1" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Value1" 
       android:textAppearance="?android:attr/textAppearanceSmall" /> 
      <Spinner 
       android:id="@+id/spinnerPrefix" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" /> 
     </TableRow> 
     **<TableRow 
      android:id="@+id/tableRow2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:gravity="center"> 
      <TextView 
       android:id="@+id/textView2" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="SomeValue" 
       android:textAppearance="?android:attr/textAppearanceSmall" /> 
      <EditText 
       android:id="@+id/valueU" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:ems="10" 
       android:inputType="phone" > 
       <requestFocus /> 
      </EditText> 
     </TableRow>** 
     <TableRow 
      android:id="@+id/tableRow3" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:gravity="center"> 
      <TextView 
       android:id="@+id/textView3" 
       android:layout_width="wrap_content" 
       android:layout_height="fill_parent" 
       android:text="Mytext" 
       android:textAppearance="?android:attr/textAppearanceSmall" 
       /> 
      <EditText 
       android:id="@+id/valueN" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:ems="10" /> 
     </TableRow> 
     <TableRow 
      android:id="@+id/tableRow4" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:gravity="center"> 
      <TextView 
       android:id="@+id/textView4" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="AnyValue" 
       android:textAppearance="?android:attr/textAppearanceSmall" /> 
      <DatePicker 
       android:id="@+id/datePicker" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" /> 
     </TableRow> 
     <TableRow 
      android:id="@+id/tableRow5" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:gravity="center"> 
    <TextView 
       android:id="@+id/textView5" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Some" 
       android:textAppearance="?android:attr/textAppearanceSmall" /> 
      <RadioGroup 
       android:id="@+id/radioGroup1" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:orientation="horizontal" 
       android:gravity="center"> 
       <RadioButton 
        android:id="@+id/radioM" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:checked="true" 
        android:text="M" /> 
       <RadioButton 
        android:id="@+id/radioF" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="F" /> 
      </RadioGroup> 
     </TableRow> 
    </TableLayout> 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center" 
     android:orientation="vertical" 
     android:paddingTop="@dimen/padding_small" > 
     <Button 
      android:id="@+id/buttonRegistrazione" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Send Data" /> 
    </LinearLayout> 
</LinearLayout> 

Répondre

3

Pour chaque textview vous pouvez ajouter

android:singleLine = "true" 

Cela fera une seule ligne. Si le texte est trop grand, alors vous pouvez utiliser ellipsize

android:ellipsize 

pour contrôler la façon dont vous voulez que le texte apparaisse

+0

Salut Zoltan, je viens d'essayer votre code, mais: 1) si j'utilise Android: SingleLine = " true "apparaît:" SomeVal ... "2) si j'utilise la directive" ellipsize ", j'obtiens un mot troncate. Je voudrais savoir si possible d'avoir chaque mot, juste en une ligne, sans truncatre ou ... PS: sont à droite directive "android: stretchColumns =" ​​0, true "android: shrinkColumns =" ​​*, true "?! Merci toi!! –