webentwicklung-frage-antwort-db.com.de

Android ConstraintLayout TextView wird nicht mehr angezeigt

Wie Sie auf dem Bild sehen, ist der Text von der Wand. Das ist so ein bizarres Verhalten und ich denke es ist ein Fehler 

Hier ist ein Screen Shooting:

 enter image description here

Hier ist die Header-XML:

<Android.support.constraint.ConstraintLayout
    xmlns:Android="http://schemas.Android.com/apk/res/Android"
    xmlns:app="http://schemas.Android.com/apk/res-auto"
    xmlns:tools="http://schemas.Android.com/tools"
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content"
    Android:background="?android:attr/windowBackground"
    Android:orientation="vertical">

    <TextView
        Android:id="@+id/street_name"
        Android:layout_width="wrap_content"
        Android:layout_height="0dp"
        Android:layout_marginStart="15dp"
        Android:text="street name"
        Android:textColor="?AppTheme.InformationText"
        Android:textSize="14sp"
        Android:textStyle="bold"
        Android:gravity="center"
        Android:layout_marginTop="8dp"
        Android:layout_marginRight="8dp"
        Android:layout_marginBottom="19dp"
        Android:layout_marginLeft="0dp"
        app:layout_constraintWidth_default="wrap"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="@+id/guideline29"
        app:layout_constraintTop_toTopOf="@+id/guideline37"
        app:layout_constraintRight_toLeftOf="@+id/guideline30"
        app:layout_constraintHorizontal_bias="0.605"
        app:layout_constraintVertical_bias="0.0"/>

    <ImageView
        Android:id="@+id/street_view_image"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:adjustViewBounds="true"
        Android:padding="6dp"
        Android:scaleType="fitCenter"
        tools:layout_constraintLeft_creator="1"
        Android:layout_marginLeft="0dp"
        app:layout_constraintLeft_toLeftOf="@+id/country_flag_image"
        app:layout_constraintBottom_toBottomOf="parent"
        Android:layout_marginBottom="0dp"
        app:layout_constraintRight_toLeftOf="@+id/guideline29"
        Android:layout_marginRight="8dp"
        app:layout_constraintTop_toTopOf="@+id/guideline37"
        Android:layout_marginTop="8dp"/>

    <ImageView
        Android:id="@+id/country_flag_image"
        Android:layout_width="0dp"
        Android:layout_height="0dp"
        Android:layout_marginLeft="4dp"
        Android:layout_marginStart="4dp"
        Android:layout_marginTop="8dp"
        Android:adjustViewBounds="true"
        Android:paddingBottom="5dp"
        Android:paddingLeft="5dp"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        tools:layout_constraintLeft_creator="1"
        tools:layout_constraintTop_creator="1"
        />

    <de.hdodenhof.circleimageview.CircleImageView
        xmlns:app="http://schemas.Android.com/apk/res-auto"
        Android:id="@+id/exit_image"
        Android:layout_width="46dp"
        Android:layout_height="46dp"
        Android:layout_marginBottom="8dp"
        Android:layout_marginRight="-4dp"
        Android:src="@drawable/exit_custom"
        app:border_color="#FF000000"
        app:layout_constraintBottom_toBottomOf="@+id/street_view_image"
        app:layout_constraintRight_toRightOf="@+id/street_view_image"
        tools:layout_constraintBottom_creator="1"
        tools:layout_constraintRight_creator="1"
        />

    <Android.support.constraint.Guideline
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:id="@+id/guideline29"
        Android:orientation="vertical"
        app:layout_constraintGuide_percent="0.5"/>

    <Android.support.constraint.Guideline
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:id="@+id/guideline30"
        app:layout_constraintGuide_begin="395dp"
        Android:orientation="vertical"/>

    <Android.support.constraint.Guideline
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:id="@+id/guideline37"
        app:layout_constraintGuide_begin="8dp"
        Android:orientation="horizontal"/>

</Android.support.constraint.ConstraintLayout>

Wie kann ich die TextView namens street_name Text nicht außerhalb des Bildschirms lassen? Ich benutze den MaterialDrawer , aber ich glaube nicht, dass das irgendetwas damit zu tun hat . Verwenden der ConstraintLayout-Version com.Android.support.constraint:constraint-layout:1.0.2 in Android Studio 2.3.3

8
Erik

Stellen Sie Android:layout_width="0dp" für street_name ein. Dies führt dazu, dass es mit den Einschränkungen übereinstimmt und es in Grenzen halten sollte.

Funktioniert nicht? street_name ist rechts von guideline30 bei 395dp eingeschränkt. Ist 395dp rechts von Ihrem Bildschirm?

16
Cheticamp

Fügen Sie die layconstraintEnd_toEndOf hinzu 
app: layout_constraintEnd_toEndOf = "parent"
und Breite 0dp
Android: layout_width = "0dp"

Die Einstellung der Breite 0dp alleine funktioniert nicht

5
Saini Arun

Verwenden Sie app:layout_constraintEnd_toEndOf anstelle von app:layout_constraintRight_toRightOf. Auch Beacuse Right_otRight kann in bestimmten Situationen falsch angezeigt werden

Und verwenden Sie Start_toStartOf anstelle von Left_toLeft

Wie die anderen auch, bedeutet set Android:layout_width="0dp"0dp Übereinstimmungseinschränkung

0
Yang.L

Für Ihren <TextView Android:id="@+id/street_name"...> sollten Sie Android:layout_width="0dp" und Android:layout_height="wrap_content" verwenden, damit es so aussieht:

<TextView
        Android:id="@+id/street_name"
        Android:layout_width="0dp"
        Android:layout_height="wrap_content"
        Android:layout_marginStart="15dp"
        Android:text="street name"
        Android:textColor="?AppTheme.InformationText"
        Android:textSize="14sp"
        Android:textStyle="bold"
        Android:gravity="center"
        Android:layout_marginTop="8dp"
        Android:layout_marginRight="8dp"
        Android:layout_marginBottom="19dp"
        Android:layout_marginLeft="0dp"
        app:layout_constraintWidth_default="wrap"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="@+id/guideline29"
        app:layout_constraintTop_toTopOf="@+id/guideline37"
        app:layout_constraintRight_toLeftOf="@+id/guideline30"
        app:layout_constraintHorizontal_bias="0.605"
        app:layout_constraintVertical_bias="0.0"/>

BEARBEITEN # 1: Ich denke, Sie sollten die rechte Seite Ihres TextView-Objekts von den Eltern und nicht von der Richtlinie einschränken, d. H. app:layout_constraintRight_toLeftOf="@+id/guideline30" in app:layout_constraintRight_toRightOf="parent" ändern. Als Ergebnis haben Sie:

<TextView
        Android:id="@+id/street_name"
        Android:layout_width="0dp"
        Android:layout_height="wrap_content"
        Android:layout_marginStart="15dp"
        Android:text="street name"
        Android:textColor="?AppTheme.InformationText"
        Android:textSize="14sp"
        Android:textStyle="bold"
        Android:gravity="center"
        Android:layout_marginTop="8dp"
        Android:layout_marginRight="8dp"
        Android:layout_marginBottom="19dp"
        Android:layout_marginLeft="0dp"
        app:layout_constraintWidth_default="wrap"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="@+id/guideline29"
        app:layout_constraintTop_toTopOf="@+id/guideline37"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintHorizontal_bias="0.605"
        app:layout_constraintVertical_bias="0.0"/>
0
Eugene Brusov

Befestigen Sie einfach TextView an der rechten Seite und alles in Ordnung. Wenn Sie ein besseres Verhalten für constraintLayout verwenden, um eine Ansicht mit einer anderen Ansicht oder einem übergeordneten Element zu verknüpfen, sollten alle 4 Einschränkungen verwendet werden.

0
Kirill Bitkov