Я пытаюсь достигнуть следующий макет в Android с главным заголовком в верхней части и трех роликов на равном расстоянии друг от друга ниже, с некоторыми кнопками ниже, что:вложенности RelativeLayouts в LinearLayout
Я был в состоянии чтобы выполнить это с помощью следующего XML, но я чувствую, что я не с помощью RelativeLayout и LinearLayout правильно:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#cfff"
android:orientation="vertical"
tools:context=".MainActivity">
<TextView
android:id="@+id/text_title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_weight="1"
android:text="Title"
android:textSize="80sp"/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_weight=".5">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1">
<TextView
android:id="@+id/text_caption1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Subheading"
android:gravity="center"
android:textSize="18sp"/>
<TextView
android:id="@+id/text_number1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/text_caption1"
android:text="1"
android:layout_weight="1"
android:textSize="80sp"
android:gravity="center"/>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1">
<TextView
android:id="@+id/text_caption2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Subheading"
android:gravity="center"
android:textSize="18sp"/>
<TextView
android:id="@+id/text_number2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/text_caption2"
android:text="10"
android:layout_weight="1"
android:textSize="80sp"
android:gravity="center"/>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1">
<TextView
android:id="@+id/text_caption3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Subheading"
android:gravity="center"
android:textSize="18sp"/>
<TextView
android:id="@+id/text_sets"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/text_caption3"
android:text="3"
android:layout_weight="1"
android:textSize="80sp"
android:gravity="center"/>
</RelativeLayout>
</LinearLayout>
<!-- Button1 -->
<Button
android:id="@+id/button1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0"
android:text="Button1"
android:textSize="20sp"/>
<!-- Button2 -->
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:text="Button2"
android:textSize="20sp" />
</LinearLayout>
Я несколько сосредоточившись на субпозиции части, хотя какие-либо предложения по OV приветствуется макет. Поэтому я использовал 3 разных RelativeLayouts, чтобы помещать подзаголовки с их соответствующими номерами и вставлял их в горизонтальный LinearLayout, чтобы распределить их друг от друга по горизонтали.
Это похоже на создание проблемы, поскольку Android Studio жалуется, что мое использование layout_weight внутри вложенных макетов плохо для производительности. Однако, когда я избавляюсь от layout_weight, все разваливается, и я вижу только «Title» и одну подзаголовок. Мне также интересно, могу ли я сделать это более элегантно только с одним RelativeLayout и без вложенности, но я не вижу, как закодировать что-то вроде этого без использования LinearLayout.
Заранее благодарим за любые предложения!
Спасибо, это в значительной степени то, что я искал. Мне любопытно, возможно ли, чтобы подзаголовки были полностью обоснованы? Правая и левая стороны обнимают левую и правую панели в этом XML, и я могу перемещать их с заполнением, но не уверен, как еще добиться этого. – rsa
Чтобы уточнить, я имею в виду выравнивание по центру подзаголовков и чисел в их соответствующих столбцах (влево, в центре, вправо). – rsa