У меня есть TableLayout с тремя столбцами, который представляет форму с
обязательный символ | этикетка | InputField.
Я хочу, чтобы поле ввода заполняло оставшуюся ширину экрана прямо до метки. Пока единственное решение, которое я нашел, это
<TableLayout android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:stretchColumns="2">
<TableRow>
<TextView android:text="@string/requiredSymbol"
/>
<TextView android:text="@string/Name"
android:textColor="@color/orange"
android:gravity="left|center_vertical"
/>
<EditText android:id="@+id/contactName"
android:inputType="text|textPersonName"
android:ellipsize="end"
android:singleLine="true"
android:scrollHorizontally="true"
android:maxWidth="1sp"
/>
</TableRow>
Для maxWidth должно быть определенное значение, которое фактически игнорируется. Тогда значение stretchColumns делает свое дело хорошо. Обратите внимание, что это также работает, если содержимое EditText в противном случае заставит таблицу выходить за границы экрана (imho ошибка ..).
Теперь это работает хорошо, но мне кажется, что это немного подло. Есть ли лучший способ?