У меня есть следующее
<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.
Какие-либо идеи заставить относительное расположение охватывать строку таблицы?
Вы должны поставить Android: background = "@ Color / Silver"
атрибут на столовой.
У меня была та же проблема с линеарией внутри ScrollView.
Надеюсь, это поможет,
LINT
Итак, я временно отказался от этой проблемы, но она возникла снова. Повторюсь, проблема, с которой я столкнулся, заключалась в том, что относительный макет в строке таблицы не охватывал всю строку, независимо от того, что я установил ее ширину и высоту. Я нашел решение, которое заставляет любой макет полностью охватывать строку таблицы (по горизонтали):
<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.
Попробуйте установить android: stretchColumns = "0" или android: stretchColumns = "*" в теге TableLayout.