RelativeLayout - 如果水平对齐,则不能使视图具有相同的垂直尺寸

RelativeLayout - can't make views the same vertical size if they are horizontally aligned

我的布局有两个 CardView,看起来像这样:

我希望右边的卡片宽度固定 (90dp),左边的卡片自动调整大小并填充剩余的 space。我目前是这样做的:

    <RelativeLayout
        android:id="@+id/inventory_host_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true">

        <android.support.v7.widget.CardView
            android:id="@+id/inventory_last_scanned_wrapper_card"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="20dp"
            android:layout_marginRight="20dp"
            android:layout_marginTop="20dp"
            android:layout_toLeftOf="@+id/inventory_scanned_infobox_wrapper_card">

            ...

        </android.support.v7.widget.CardView>

        <android.support.v7.widget.CardView
            android:id="@+id/inventory_scanned_infobox_wrapper_card"
            android:layout_width="90dp"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="false"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"
            android:layout_centerVertical="false"
            android:layout_marginRight="20dp"
            android:layout_marginTop="20dp">

            ...

        </android.support.v7.widget.CardView>

    </RelativeLayout>

左边的可以长,所以我也想让右边的卡片总是和左边的一样高。通常我通过将 layout_alignToplayout_alignBottom 属性设置为其他 View 来进行这种对齐,但这次这些属性不可用,可能是因为这会创建循环引用(尽管我不'真正理解水平对齐如何影响垂直)。该怎么办?我已经探索了其他几个选项,但总是回到同一个点,除了硬编码高度或以编程方式设置它们,当然我想避免。

您在哪里以及为什么会收到循环引用错误?只需设置

android:layout_alignBottom="@id/inventory_last_scanned_wrapper_card"

在右侧的卡片上,一切正常。