Android проблема TableRow RelativeLayout

У меня есть следующее

<TableRow xmlns:android="http://schemas.android.com/apk/res/android"
          android:id="@+id/admin_row"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:gravity="center_horizontal">
    <RelativeLayout android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:orientation="horizontal"
                    android:background="@color/silver">

Я динамично заполняю таблицу, но с относительным расположением, окрашенным серебряным, она только охватывает о 3/4 строки таблицы. Если я поместил LinearLayout с горизонтальной ориентацией, она охватывает полностью, но если я изменяю ее на вертикаль, та же проблема происходит. Мне нужно относительное расположение в строке таблицы, потому что мне нужно к чему-то вроде этого:

Значение
Деталь MoreDetail.

Какие-либо идеи заставить относительное расположение охватывать строку таблицы?

7
задан phogel 19 January 2010 в 16:46
поделиться

3 ответа

Вы должны поставить Android: background = "@ Color / Silver" атрибут на столовой.

У меня была та же проблема с линеарией внутри ScrollView.

Надеюсь, это поможет,

LINT

1
ответ дан 6 December 2019 в 10:00
поделиться

Итак, я временно отказался от этой проблемы, но она возникла снова. Повторюсь, проблема, с которой я столкнулся, заключалась в том, что относительный макет в строке таблицы не охватывал всю строку, независимо от того, что я установил ее ширину и высоту. Я нашел решение, которое заставляет любой макет полностью охватывать строку таблицы (по горизонтали):

<TableRow xmlns:android="http://schemas.android.com/apk/res/android"
          android:id="@+id/detail_row"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content">
    <RelativeLayout android:layout_height="fill_parent"
                    android:layout_width="0dp"
                    android:layout_weight="1"
                    android:orientation="horizontal">

Обратите внимание, что это, похоже, прямо противоречит тому, что указано в java-документах строки таблицы:

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

6
ответ дан 6 December 2019 в 10:00
поделиться

Попробуйте установить android: stretchColumns = "0" или android: stretchColumns = "*" в теге TableLayout.

12
ответ дан 6 December 2019 в 10:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: