Как соотнести два представления RelativeLayout в Android Studio? - PullRequest
0 голосов
/ 29 августа 2018

Я создал проект, используя RelativeLayout, и обнаружил, что большинство моих представлений связано с родителем.

Все, что я хочу, это связать два соответствующих представления, например, «оценить сериал ниже» и рейтинг (вместе с родителем).

Возможно ли это в существующем проекте или мне придется делать все заново?

enter image description here

Ответы [ 3 ]

0 голосов
/ 29 августа 2018

Чтобы связать два представления в RelativeLayout, вы можете объявить его в макете элемента.

например, в наборе XML в строке рейтинга: android:layout_below="@id/rating_textview"
(rating_textview - это идентификатор вашего текстового обзора)

Дополнительные параметры: https://developer.android.com/reference/android/widget/RelativeLayout.LayoutParams

0 голосов
/ 29 августа 2018

Вы можете связать и позиционировать любой вид по их идентификаторам при использовании RelativeLayout.

Например:

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/tv1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"/>

    <TextView
        android:id="@+id/tv2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_below="@id/tv1"/>

</RelativeLayout>

Этот образец макета будет отображать два TextView, оба по центру, относящиеся к их родителю, и расположенные один под другим.

Существует множество параметров, которые можно использовать для размещения видов на этом макете, как в следующих примерах, взятых из документов:

Некоторые из множества свойств макета доступны для просмотра в RelativeLayout включает в себя:

  • android:layout_alignParentTop Если "true", делает верхний край этого представление соответствует верхнему краю родителя.
  • android:layout_centerVertical Если "true", этот дочерний элемент центрируется вертикально внутри его родителя.
  • android:layout_below Позиционирует верхний край этого вида под вид, указанный с идентификатором ресурса.
  • android:layout_toRightOf Позиции левый край этого вида справа от вида, указанного с помощью идентификатор ресурса.

Подробнее о этих параметрах вы можете прочитать здесь .

Я советую вам прочитать документы о RelativeLayout, чтобы проверить, как это работает.

Теперь лучше взглянуть на другой менеджер раскладки, известный как ConstraintLayout, он немного похож на RelativeLayout, но он намного мощнее. Посмотрите здесь , чтобы увидеть, как это работает.

Кроме того, этот сайт показывает, как вы можете имитировать поведение других макетов, используя ConstraintLayout, посмотрите!

0 голосов
/ 29 августа 2018

Вы можете вложить другой макет в свой RelativeLayout, например LinearLayout или другой RelativeLayout, а затем поместить в него два родственных представления. Или вы можете использовать android: layout_above, чтобы связать их вместе внутри RelativeLayout.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...