Почему мои текстовые представления исчезают внутри моего ConstraintLayout с рекомендациями? - PullRequest
0 голосов
/ 03 августа 2020

Я впервые пытаюсь использовать рекомендации в ConstraintLayout, так что, может быть, я что-то упускаю? Я пробовал добавлять отступы ко всем внутренним элементам ConstraintLayout. Должен ли я просто отказаться от ConstraintLayout и использовать пару относительных макетов? Текстовые представления связаны с кнопками и руководящими принципами внутри CosntraintLayout, который сам находится внутри 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"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="#ffffff"
android:gravity="center_horizontal"
android:orientation="vertical">


<include layout="@layout/toolbar" />

<androidx.constraintlayout.widget.ConstraintLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <androidx.constraintlayout.widget.Guideline
        android:id="@+id/guidelineLeft"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        app:layout_constraintGuide_begin="16dp" />

    <androidx.constraintlayout.widget.Guideline
        android:id="@+id/guidelineHorizontal1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        app:layout_constraintGuide_begin="18dp" />

    <androidx.constraintlayout.widget.Guideline
        android:id="@+id/guidelineHorizontal2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        app:layout_constraintGuide_begin="72dp" />

    <TextView
        android:id="@+id/txt_install_suggestion"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="16dp"
        android:fontFamily="sans-serif-black"
        android:textSize="14dp"
        android:padding="1px"
        app:layout_constraintStart_toStartOf="@+id/guidelineLeft"
        app:layout_constraintTop_toBottomOf="@+id/guidelineHorizontal1"
        tools:text="@string/invite_pal_to_install" />

    <Button
        android:id="@+id/btn_suggestInstall"
        style="@style/AppTheme.Button"
        android:layout_width="42sp"
        android:layout_height="42sp"
        android:layout_marginStart="12dp"
        android:padding="1px"
        android:layout_marginTop="8dp"
        android:text="@string/fa_paper_plane"
        app:layout_constraintStart_toEndOf="@+id/txt_install_suggestion"
        app:layout_constraintTop_toBottomOf="@+id/guidelineHorizontal1" />


    <TextView
        android:id="@+id/txt_invite_pal_suggestion"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="16dp"
        android:fontFamily="@font/copse"
        android:textSize="14dp"
        android:padding="1px"
        android:typeface="normal"
        app:layout_constraintStart_toStartOf="@+id/guidelineLeft"
        app:layout_constraintTop_toBottomOf="@+id/guidelineHorizontal2"
        tools:text="@string/invite_pal_to_project" />

    <Button
        android:id="@+id/btn_suggestInvitePal"
        style="@style/AppTheme.Button"
        android:layout_width="42sp"
        android:layout_height="42sp"
        android:padding="1px"
        android:layout_marginStart="118dp"
        android:layout_marginTop="8dp"
        android:text="@string/fa_paper_plane"
        app:layout_constraintStart_toEndOf="@+id/txt_invite_pal_suggestion"
        app:layout_constraintTop_toBottomOf="@+id/guidelineHorizontal2" />

</androidx.constraintlayout.widget.ConstraintLayout>

Изображение того, что должен отображать этот xml

Ответы [ 2 ]

1 голос
/ 03 августа 2020

tools:text отображать текст только для предварительного просмотра макета. Вы должны использовать атрибут android:text вместо tools:text в TextView

0 голосов
/ 03 августа 2020

Вы можете установить макет верхнего уровня как constraintlayout

not LinearLayout

...