Примечание: это может показаться повторяющимся вопросом, однако я не нашел ни одного, чтобы ответить на мой вопрос / предоставить решение.
У меня есть макет, который я хотел бы, чтобы был разработан следующим образом:
Это то, что я пытался до сих пор:
Текущий дизайн макета:
Соответствующий ( попытки ) XML-макет находится ниже ( спроблема ):
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<RelativeLayout
android:id="@+id/layout_price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_toEndOf="@id/layout_details">
<TextView
android:id="@+id/subscriptionCost"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:text="$ 0.00"
android:textAlignment="textEnd"
android:textSize="24sp" />
<TextView
android:id="@+id/currency"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/subscriptionCost"
android:layout_alignParentEnd="true"
android:text="(USD)"
android:textAlignment="textEnd"
android:textSize="16sp"
android:textStyle="italic" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/layout_details"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true">
<TextView
android:id="@+id/subscriptionDuration"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:text="2 Year Subscription"
android:textAppearance="@style/Base.TextAppearance.AppCompat.Medium"
android:textSize="24sp"
android:textStyle="bold" />
<TextView
android:id="@+id/subscriptionMessage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/subscriptionDuration"
android:layout_alignParentStart="true"
android:text="Oon until Jaunarasdasddasdasd asd asdasdda sdasd asda sd as da sd as da sd a sd as d as d as d asdasdasday 2020"
android:textAppearance="@style/Base.TextAppearance.AppCompat.Medium"
android:textSize="16sp"
android:textStyle="italic" />
</RelativeLayout>
</RelativeLayout>
Я думаю, что компоновка, которую я пытаюсь достичь, очевидна, но я все же объясню.
Макет должен предоставитьобзор подписок, предлагаемых в моем приложении.
Длительность подписки в левом верхнем углу, с дальнейшими подробностями (которые могут быть многоуровневыми) ниже длительности.
Цена подписки в правом верхнем углу и ниже валюты, в которой указана цена.
Проблема
У меня есть 2 RelativeLayout
s как левый и правый макеты.Левый макет должен иметь возможность масштабирования в соответствии с размером экрана, в то время как правый макет должен оставаться как wrap_content
ширина.
Имея текущее правое RelativeLayout
и дочерние как wrap_content
, кажется, что левый RelativeLayoutпросто перекрывает и заставляет правильное расположение ниже, даже если установлены android:layout_alignParentTop="true"
и android:layout_alignParentEnd="true"
.
Я не уверен, что является причиной проблемы, но любой совет будет оценен.