2010-06-03 9 views
2

J'ai utilisé Table Layout. Il a deux colonnes. la première colonne contient une vue de texte, une autre est EditText. Ma mise en page devrait ressembler à ceci.Problème de mise en page de tableau sous Android?

column1: columnvalue1 
column2: columnvalue2 
col3: columnvalue3 

Mais mon auto mise en page aligné comme celui-ci:

column1: columnvalue1 
column2: columnvalue2 
col3: columnvalue3 

comment résoudre la mise en page comme premier. Quelle est l'erreur? Quelle idée?

code: j'ai noté le code d'une seule ligne. pour référence. comme ce code je l'ai fait pour toutes les lignes.

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      android:layout_width="wrap_content" android:layout_height="fill_parent" 
      android:stretchColumns="1" android:background="@drawable/corner_white" 
      android:layout_margin="10dip"> 
<TableRow android:orientation="horizontal" 
       android:minHeight="50dip" android:gravity="center_vertical"> 
       <TextView android:text="@string/ename" android:textSize="15sp" 
        android:textColor="@color/black" android:padding="10dip" /> 
       <EditText android:id="@+id/ename_value" android:textSize="15sp" 
        android:inputType="textEmailAddress" android:background="@null" 
        android:singleLine="true" /> 
      </TableRow> 
     </TableLayout> 

Répondre

3

Il n'y a pas d'erreur, qui est exactement ce qu'un TableLayout est censé faire. Si vous ne voulez pas que les colonnes aient la même largeur, sortez la troisième ligne de la table et placez-la dans son propre LinearLayout horizontal.

(Et, en passant, vous avez vous-même mélangés entre colonnes et lignes dans vos exemples Il faut dire:.

row1: row1 value 
row2: row2 value 
r3: row3 value