Выравнивание с различными видами, чтобы они были выровнены по центру друг с другом - PullRequest
0 голосов
/ 09 февраля 2020
Android Studio 3.5.3

У меня есть следующее xml, и я использую constraintLayout для выравнивания двух представлений и TextView друг с другом. Тем не менее, представления должны быть зафиксированы на MarginTop 45dp. Мне нужно настроить MarginTop текстового обзора, чтобы они выглядели так, как будто они выровнены по горизонтали. Я думаю, что должен быть лучший способ. Таким образом, в основном, представления должны быть MarginTop 45dp, а TextView должно выглядеть как выровненное по горизонтали без необходимости настройки MarginTop, чтобы попытаться компенсировать это.

     <View
        android:id="@+id/lineRight"
        android:layout_width="0dp"
        android:layout_height="1dp"
        android:layout_marginTop="45dp"
        android:layout_marginEnd="16dp"
        app:layout_constraintEnd_toStartOf="@+id/tvOr"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@id/bt_login"
        android:background="@android:color/darker_gray"/>

    <TextView
        android:id="@+id/tvOr"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="34dp"
        android:fontFamily="@font/roboto_regular"
        android:text="OR"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@id/bt_login" />

    <View
        android:id="@+id/lineLeft"
        android:layout_width="0dp"
        android:layout_height="1dp"
        android:layout_marginTop="45dp"
        android:layout_marginStart="16dp"
        app:layout_constraintStart_toEndOf="@+id/tvOr"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toBottomOf="@id/bt_login"
        android:background="@android:color/darker_gray"/>

И это изображение того, что я пытаюсь достичь:

enter image description here

1 Ответ

1 голос
/ 09 февраля 2020

Вы можете ограничить tvOr по вертикали одним из представлений, скажем, левым, и удалить marginTop следующим образом:

<TextView
        android:id="@+id/tvOr"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:fontFamily="@font/roboto_regular"
        android:text="OR"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="@id/lineLeft"
        app:layout_constraintBottom_toBottomOf="@id/lineLeft"/>

Таким образом TextView будет центрирован вертикально по левому краю линия.

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