Выровняйте горизонтальную линию над видом в нижней части экрана в режиме ограничения

#android #android-layout #android-constraintlayout

#Android #android-макет #android-ограничение

Вопрос:

У меня есть ConstraintLayout , и я хочу показать кнопку в нижней части экрана. Основная область экрана-это a RecyclerView , если это имеет значение. В
любом случае я хотел бы иметь вид горизонтальной линии прямо над кнопкой.
Я попробовал следующее:

 lt;?xml version="1.0" encoding="utf-8"?gt; lt;ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"  xmlns:app="http://schemas.android.com/apk/res-auto"  android:layout_width="match_parent"  android:layout_height="match_parent"  gt;   lt;TextView  android:id="@ id/text"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  app:layout_constraintTop_toTopOf="parent"  app:layout_constraintStart_toStartOf="parent"  android:text="Some text here"   /gt;     lt;androidx.recyclerview.widget.RecyclerView  android:id="@ id/recycler"  app:layout_constraintTop_toBottomOf="@id/text"  app:layout_constraintStart_toStartOf="parent"  android:layout_marginTop="12dp"  android:layout_width="match_parent"  android:layout_height="wrap_content"/gt;   lt;View  android:layout_width="match_parent"  android:layout_height="2dp"  android:layout_marginStart="16dp"  android:background="@color/red_color"  app:layout_constraintBottom_toBottomOf="@id/button"  app:layout_constraintStart_toStartOf="parent"  app:layout_constraintTop_toBottomOf="@id/recycler"  app:layout_constraintVertical_bias="0.887" /gt;   lt;Button  android:id="@ id/button"  android:layout_alignParentBottom="true"  android:layout_width="match_parent"  android:layout_height="wrap_content"  app:layout_constraintBottom_toBottomOf="parent"  android:text="Click Here"  /gt; lt;/ConstraintLayoutgt;  

Но фиктивный вид не отображается над кнопкой.
Что я могу сделать, чтобы исправить это?

Комментарии:

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

2. @KaranMehta: Мне просто нужна красная горизонтальная линия прямо над кнопкой в нижней части экрана

3. Я могу предложить, как это сделать с линейной компоновкой или относительной компоновкой

4. @KaranMehta: Мне нужно использовать ограничение.

Ответ №1:

 lt;?xml version="1.0" encoding="utf-8"?gt;lt;androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"  xmlns:app="http://schemas.android.com/apk/res-auto"  android:layout_width="match_parent"  android:layout_height="match_parent"  gt;    lt;TextView  android:id="@ id/text"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  app:layout_constraintTop_toTopOf="parent"  app:layout_constraintStart_toStartOf="parent"  android:text="Some text here"  /gt;      lt;androidx.recyclerview.widget.RecyclerView  android:id="@ id/recycler"  app:layout_constraintTop_toBottomOf="@id/text"  app:layout_constraintStart_toStartOf="parent"  android:layout_marginTop="12dp"  app:layout_constraintBottom_toTopOf="@ id/guideline"  android:layout_width="match_parent"  android:layout_height="0dp"/gt;    lt;View  android:layout_width="match_parent"  android:layout_height="2dp"  android:background="@color/black"  app:layout_constraintStart_toStartOf="parent"  app:layout_constraintTop_toBottomOf="@id/recycler" /gt;      lt;androidx.constraintlayout.widget.Guideline  android:id="@ id/guideline"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:orientation="horizontal"  app:layout_constraintGuide_percent="0.9" /gt;  lt;Button  android:id="@ id/button"  android:layout_alignParentBottom="true"  android:layout_width="match_parent"  android:layout_height="wrap_content"  app:layout_constraintBottom_toBottomOf="parent"  app:layout_constraintTop_toBottomOf="@ id/guideline"  android:text="Click Here"  /gt;  lt;/androidx.constraintlayout.widget.ConstraintLayoutgt;  

Вот рабочее решение, которое может вам помочь.

Комментарии:

1. Кажется, это работает. 1) Как вы сделали свой выбор 0.9 ? 2) Я использовал app:layout_constraintBottom_toTopOf="@id/guideline" в линейном представлении. Вы видите в этом какие-то проблемы?

2. 1)0,9 — это коэффициент экрана.

3. Разве это не означает, что нужно разместить его на 90% сверху? Не уверен, как понять это число

4. 2)Нет никаких проблем.

5. @Jim от 0 до 100-это соотношение экрана в руководстве. в вашем случае это соотношение экрана должно быть вертикальным.

Ответ №2:

Зацени это

 lt;?xml version="1.0" encoding="utf-8"?gt; lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  android:layout_width="match_parent"  android:layout_height="match_parent"gt;   lt;TextView  android:id="@ id/text"  app:layout_constraintStart_toStartOf="parent"  app:layout_constraintTop_toTopOf="parent"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:text="Some text here" /gt;    lt;androidx.recyclerview.widget.RecyclerView  android:id="@ id/recycler"  android:layout_width="match_parent"  android:layout_height="wrap_content"  android:layout_above="@id/red_view"  android:layout_below="@id/text"  android:layout_marginTop="12dp" /gt;   lt;View  android:id="@ id/red_view"  android:layout_width="match_parent"  android:layout_height="2dp"  android:layout_above="@id/button"  android:layout_marginBottom="5dp"  android:background="#ff0000" /gt;   lt;Button  android:id="@ id/button"  android:layout_width="match_parent"  android:layout_height="wrap_content"  android:layout_alignParentBottom="true"  android:text="Click Here" /gt;  lt;/RelativeLayoutgt;  

Комментарии:

1. Вопрос заключается в использовании ConstraintLayout