свойство match_parent для детей в RelativeLayout
Короче говоря, можно ли сказать ребенку вRelativeLayout
чтобы всегда соответствовать высоте этогоRelativeLayout
независимо от того, как другие дети в том жеRelativeLayout
вести себя? Короче вот и все. Подробности ниже.
То, что я пытаюсь достичь, этоListView
строка с по крайней мере тремя видами, и один из этих видов будет в виде полосы справа от записи списка (красный вид ниже). У меня проблема в том, что естьTextView
с левой стороны и в зависимости от того, сколько у меня текста, полоса не заполнит весь макет. Это очень четко объясняется изображениями ниже.
ListView
макет элемента:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<View
android:id="@+id/bottom_line"
android:layout_width="match_parent"
android:layout_height="5dp"
android:layout_alignParentBottom="true"
android:background="#fc0" />
<!-- Why match_parent does not work in view below? -->
<View
android:id="@+id/stripe"
android:layout_width="80dp"
android:layout_height="wrap_content"
android:minHeight="50dp"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:background="#f00" />
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_toLeftOf="@id/stripe"
android:text="This is a very long line, meant to completely break the match_parent property of the box at right"
style="?android:textAppearanceLarge"/>
</RelativeLayout>
Результат:
Установка полосы и высоты корняmatch_parent
не имеет значения. Я это сделал.Повторяя вопрос, я хочу, чтобы красная полоса всегда заполняла родителя вертикально. Вы можете видеть, что полоса не выравнивается к вершине корня.
Примечание: приведенный выше пример - самый простой, самостоятельный пример, который я могу себе представить. Это простоListActivity
с анонимнымArrayAdapter
заполнен статическимString
массив. Соответствующий код вonCreate
самое большее 8 строк, так что не беспокойтесь. Это действительно макет. Кроме того, у меня это работает с вложеннымиLinearLayout
Уже, но я пытаюсь немного уменьшить глубину структуры моего макета, если это возможно.LinearLayout
работает нормально, как и ожидалось.