Я новичок в макете ограничений, так что, возможно, я что-то упустил, но у меня возникли проблемы с рефакторингом этого простого (упрощенного минимального примера) линейного макета в макет ограничения
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/message_background"
android:foreground="@drawable/item_selector"
android:orientation="vertical"
android:padding="16dp">
<View
android:id="@+id/view1"
android:layout_width="match_parent"
android:layout_height="124dp"
android:background="#FFAABB" />
<View
android:id="@+id/view2"
android:layout_width="match_parent"
android:layout_height="124dp"
android:layout_marginTop="8dp"
android:background="#FFEEAA" />
<View
android:id="@+id/view3"
android:layout_width="match_parent"
android:layout_height="124dp"
android:layout_marginTop="8dp"
android:background="#FFAAEE" />
</LinearLayout>
Ключ в том, что view2 или view3 могут быть недоступны, и, очевидно, мне все еще нужно заполнить нижнюю часть родительского элемента; который является автоматическим в линейном макете независимо от содержания.
До сих пор я пытался подделать родительский отступ с полями для элементов, но margin_bottom в последнем представлении не работает (возможно, потому что это не ограниченное дно, но почему это должно быть, если его родительский wrap_content height)
Также фон + слушатель щелчка ...
(И да, я знаю, что для этого случая я должен использовать линейное расположение, нет необходимости говорить, что это виртуальный пример моих проблем)