2016-07-01 17 views
3

Ich habe eine ConstraintLayout mit ein paar Elementen und zwei Tasten.ConstraintLayout ignorieren Einschränkungen

Ich versuche, die Schaltflächen am unteren Rand mit oberen und unteren Randbedingungen und die Bias-Eigenschaft, um die untere/links/rechts-Ausrichtung zu erhalten.

Alles erscheint korrekt im Editor (Android studio 2.2 P3), aber wenn ich die App ausführen, wird nichts korrekt angezeigt.

Jede Hilfe würde sehr geschätzt werden.

Heres die entsprechenden Abschnitte des layout 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="match_parent" 
    android:id="@+id/relativeLayout" 
    android:paddingTop="10dp" 
    android:paddingLeft="10dp" 
    android:paddingRight="10dp"> 

    ...snip... 

    <Button 
     android:text="Reset" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     app:layout_constraintLeft_toLeftOf="@+id/relativeLayout" 
     app:layout_constraintBottom_toBottomOf="@+id/relativeLayout" 
     android:layout_marginBottom="16dp" /> 

    <Button 
     android:text="Apply" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/profile_apply_button" 
     app:layout_constraintLeft_toLeftOf="@+id/relativeLayout" 
     android:layout_marginLeft="16dp" 
     android:layout_marginStart="16dp" 
     app:layout_constraintTop_toTopOf="@+id/relativeLayout" 
     android:layout_marginTop="16dp" 
     app:layout_constraintRight_toRightOf="@+id/relativeLayout" 
     android:layout_marginRight="16dp" 
     android:layout_marginEnd="16dp" 
     app:layout_constraintBottom_toBottomOf="@+id/relativeLayout" 
     android:layout_marginBottom="16dp" 
     app:layout_constraintHorizontal_bias="1.0" 
     app:layout_constraintVertical_bias="1.0" /> 
</android.support.constraint.ConstraintLayout> 

View in editor

View when running

Antwort

1

ich war in der Lage, um das Problem zu bekommen durch vertikale und horizontale Leitlinien mit/nach links unten/rechts Kanten und meine Steuerelemente stimmen ordnungsgemäß mit diesen Richtlinien überein.

1

Meine Vermutung ist, dass dies aus einem Fragment geladen wurde? wenn ja, statt mit Dingen wie:

app:layout_constraintLeft_toLeftOf="@+id/relativeLayout" 

sollten Sie verwenden:

app:layout_constraintLeft_toLeftOf="parent" 

(verfügbar seit ConstraintLayout alpha 5). Es ist auch am besten, auf die neuesten Versionen von Android Studio (z. B. 2.2 beta) zu aktualisieren, der Editor wird die Arbeit für Sie tun, um diese Referenzen zu ersetzen.