Intereting Posts
Как touchDragged работает в libgdx? Android: приложение global onPause () и onResume ()? Ошибка «id не может быть разрешена или не поле»? Уведомление Android о намерении очистить его CollapsingToolbarLayout с tablayout и изображением как рушится с липкой панелью инструментов Как настроить файл proguard-project.txt для удаления только журналов Как перенести определенный элемент в список массивов на первый элемент Как проверить мой продукт биллинга в приложении уже куплен в приложении пользователем? Ubuntu PPA для Android SDK / NDK? Возможно ли в android определить константы в XML, которые различаются в зависимости от конфигурации Как получить необработанный буфер камеры Android в C с помощью JNI? Установка Ellipsize в TextView уменьшает линии, показанные одним (вместо того, чтобы только эллипсизация последней) Программно добавить id к R.id Jelly Bean WebView плохо работает с атрибутом HTML maxlength для текстового поля Создайте диалоговое окно «Выбор номера»

Почему EditText не расширяется до fill_parent

Я написал код XML, где я хочу, чтобы EditText был расширен, чтобы он соответствовал ширине родителя. Проведя так много времени, я не могу найти способ расширить EditText.

Вот мой XML:

<?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"> <TableLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <TableRow android:layout_marginLeft="10dp" android:layout_marginBottom="15dip"> <TextView android:text="Comment" android:layout_width="match_parent" android:textStyle="bold" android:padding="3dip" /> </TableRow> <TableRow android:layout_marginLeft="10dp" android:layout_marginBottom="15dip"> <EditText android:id="@+id/EditText02" android:layout_height="wrap_content" android:lines="5" android:gravity="top|left" android:inputType="textMultiLine" android:scrollHorizontally="false" android:minWidth="10.0dip" android:maxWidth="5.0dip"/> </TableRow> <TableRow android:layout_marginLeft="10dp" android:layout_marginBottom="15dip" android:gravity="center"> <Button android:id="@+id/cancel" android:text="Next" /> </TableRow> </TableLayout> </LinearLayout> 

Что я сделал здесь неправильно. Пожалуйста, помогите мне.

Solutions Collecting From Web of "Почему EditText не расширяется до fill_parent"

Добавьте дополнительный colomn TextView в каждую строку.

Этот код может вам помочь.

 <?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"> <TableLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:stretchColumns="1" android:orientation="vertical"> <TableRow android:layout_width="fill_parent" android:layout_marginLeft="10dp" android:layout_marginBottom="15dip"> <TextView android:text="" /> <TextView android:text="Comment" android:layout_width="match_parent" android:layout_marginRight="10dp" android:textStyle="bold" android:padding="3dip" /> </TableRow> <TableRow android:layout_marginLeft="10dp" android:layout_marginBottom="15dip"> <TextView android:text="" /> <EditText android:id="@+id/EditText02" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginRight="20dp" android:lines="5" android:gravity="top|left" android:inputType="textMultiLine" android:scrollHorizontally="false" /> </TableRow> <TableRow android:layout_marginLeft="10dp" android:layout_marginBottom="15dip" android:gravity="center"> <TextView android:text="" /> <Button android:id="@+id/cancel" android:layout_marginRight="10dp" android:text="Next" /> </TableRow> </TableLayout> </LinearLayout> 

Вид старого, но я считаю, что мне есть что добавить.

Я считаю, что согласно документации (приведенной ниже) layout_width и layout_height предварительно определены для всех пользователей TableRow.

Вместо этого layout_weight можно использовать для определения ширины / высоты элементов внутри TableRow. То есть, если вы не хотите установить его свойство android: ems и дать ему ширину, основанную на его размере шрифта.

Например:

 <TableRow android:id="@+id/tableRow1" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" > <EditText android:id="@+id/editText1" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:hint="@string/place" android:inputType="textPersonName" > <requestFocus /> </EditText> </TableRow> 

Это создало для меня полноэкранный широкий текст EditText в TableRow.

Вот цитата из документации TableRow:

Детям TableRow не нужно указывать атрибуты layout_width и layout_height в файле XML. TableRow всегда обеспечивает, чтобы эти значения были соответственно MATCH_PARENT и WRAP_CONTENT.

Проблема, как известно, в том, что на самом деле этого не происходит. Я подозреваю, что layout_width получает «WRAP_CONTENT».

Пожалуйста, добавьте android:stretchColumns="0" на ваш TableLayout

Не уверен, что серьезно.

У вас минимальная ширина вашего EditText ( minWidth ) больше, чем максимальная ширина ( maxWidth ), и вы не layout_width атрибут layout_width (который вы должны установить match_parent ).

Я думаю, что вам не хватает атрибута android:orientation от LinearLayout

Во-вторых, если это все, что вам нужно, вы можете избежать использования TableLayout и использовать только один LinearLayout с android:orientation="vertical" и все остальные три View в нем.

Вы можете использовать layout_weight="1" в edittextview.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/LinearLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/back" android:orientation="vertical" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" -->> change to 0dip android:paddingRight="@dimen/activity_horizontal_margin" -->> change to 0dip android:paddingTop="@dimen/activity_vertical_margin" tools:context=".StartUp" >