Android включает макет под элементом

Я хотел бы создать макет, как на изображении. Он не включил его, поэтому код очень длинный. Я хочу создать макет для каждого BOX и включить его в основной макет, один под другим.

Введите описание изображения здесь

Проблема в том, что XML-файл макет такого типа очень длинный. Поэтому я хотел бы использовать макет и создать новый макет, который затем будет включать в себя, например:

У меня есть RelativeLayout, и у меня есть ImageView для строки1, ниже я хочу создать окно в этом методе, чтобы уменьшить код:

<include layout = "box1" layoutBelow = "linea1" /> 

И то же самое для коробки 2:

 <include layout = "box2" layoutBelow = "linea2" /> 

Но макет, который я включаю, не выравнивается, как хотелось бы. Макет накладывается на существующий.

Я решил так:

 <!-- LINE SEPARATOR 1--> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/logo" android:id="@+id/linea1" android:background="@drawable/linea" /> <!-- BOX1 --> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/linea1" > <include layout="@layout/box1" android:layout_height="wrap_content" android:layout_width="match_parent" /> </RelativeLayout> <!-- LINE SEPARATOR 2--> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/logo" android:id="@+id/linea2" android:background="@drawable/linea" /> <!-- BOX2 --> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/linea2" > <include layout="@layout/box2" android:layout_height="wrap_content" android:layout_width="match_parent" /> </RelativeLayout> 

И результат – это изображение:

Введите описание изображения здесь

Спасибо вам всем 🙂

Все последние ответы исправлены, прежде всего, если вы хотите использовать id должен иметь его макет linea1 . Например:

 <LinearLayout android:id="@+id/id_linea1" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> ... </LinearLayout> 

И включить его, используя

 <include layout="@layout/box1" android:layout_below="@id/id_linea1" /> 

Android Studio сообщает мне, что для этих типов включает в себя то, что layout_width и layout_height также должны быть указаны в теге include, иначе «layout_below» игнорируется.

Linea2 также должен быть ниже box1 и хорошо работать на RelativeLayout.

И, возможно, LinearLayout с вертикальной ориентацией будет лучше для вашего интереса.