2012-04-14 2 views
0

У меня проблема с компоновкой. У меня есть три вида editText в строке таблицы. Каждый из них имеет одни и те же атрибуты, но первые два из них не будут возражать против установленного макета. ПРИМЕЧАНИЕ. Каждый из указаний содержит одинаковое количество символов.editText view not minding layout_width

ANSWER: удалены таблицы и используются вложенные линейные макеты.

<TableRow 
     android:id="@+id/tableRowQuad1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:gravity="center_horizontal" > 

      <EditText 
       android:id="@+id/editTextQuadA" 
       android:layout_width="50sp" 
       android:layout_height="wrap_content" 
       android:ems="10" 
       android:inputType="numberDecimal|numberSigned" 
       android:hint="@string/hintA" /> 

      <EditText 
       android:id="@+id/editTextQuadB" 
       android:layout_width="50sp" 
       android:layout_height="wrap_content" 
       android:ems="10" 
       android:inputType="numberDecimal|numberSigned" 
       android:hint="@string/hintB" /> 

      <EditText 
       android:id="@+id/editTextQuadC" 
       android:layout_width="50sp" 
       android:layout_height="wrap_content" 
       android:ems="10" 
       android:inputType="numberDecimal|numberSigned" 
       android:hint="@string/hintC" /> 

    </TableRow> 

editTextQuadC показывает правильную ширину, но А и Б остаться такой же размер, если я не сделать его больше, чем они появляются. Кажется, они появляются около 75-85 sp. Заранее спасибо.

ответ

1

Просто измените TableRow на LinearLayout и попробовать его работать нормально, как показано ниже ::

<LinearLayout 
     android:id="@+id/tableRowQuad1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:gravity="center_horizontal" > 

      <EditText 
       android:id="@+id/editTextQuadA" 
       android:layout_width="50sp" 
       android:layout_height="wrap_content" 
       android:ems="10" 
       android:inputType="numberDecimal|numberSigned" 
       android:hint="@string/hintA" /> 

      <EditText 
       android:id="@+id/editTextQuadB" 
       android:layout_width="50sp" 
       android:layout_height="wrap_content" 
       android:ems="10" 
       android:inputType="numberDecimal|numberSigned" 
       android:hint="@string/hintB" /> 

      <EditText 
       android:id="@+id/editTextQuadC" 
       android:layout_width="50sp" 
       android:layout_height="wrap_content" 
       android:ems="10" 
       android:inputType="numberDecimal|numberSigned" 
       android:hint="@string/hintC" /> 

    </LinearLayout> 

, так как если вы используете строку таблицы она зависима другой строки таблицы для ее ширины.

+0

Большое вам спасибо. Я даже не думал о других строках в моем столе. Это сработало. Еще раз спасибо. – EliteTech