2017-08-28 3 views
-2

question simple:ConstraintLayout commande/couche pour le dessin

Quel est exactement l'algorithme utilisé par ConstraintLayout pour savoir qui View est dessiné en premier et qui View est dessiné dernier? Dans RelativeLayout, la dernière vue dans le fichier XML est dessinée en dernier, donc elle sera au-dessus de tout, obscurcissant les vues qui ont été dessinées plus tôt.

Pourquoi ConstraintLayout n'a-t-il pas la même fonction (au moins, apparemment)?

Le code suivant entraîne l'affichage du bouton en haut de la vue incluse.

<Button 
    android:id="@+id/calculate" 
    android:layout_width="183dp" 
    android:layout_height="76dp" 
    android:layout_marginBottom="5dp" 
    android:layout_marginLeft="16dp" 
    android:layout_marginStart="16dp" 
    android:text="C A L C U L A T E" 
    app:layout_constraintBottom_toBottomOf="parent" 
    app:layout_constraintLeft_toLeftOf="parent" /> 

<include 
    android:id="@+id/help_window" 
    layout="@layout/help_window" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" 
    android:layout_marginBottom="0dp" 
    android:layout_marginLeft="0dp" 
    android:layout_marginRight="0dp" 
    android:layout_marginTop="0dp" 
    android:visibility="invisible" 
    app:layout_constraintBottom_toBottomOf="parent" 
    app:layout_constraintLeft_toLeftOf="parent" 
    app:layout_constraintRight_toRightOf="parent" 
    app:layout_constraintTop_toBottomOf="@+id/include4" /> 


</android.support.constraint.ConstraintLayout> 

Répondre

1

D'accord. J'ai résolu cela maintenant.

Apparemment, les boutons sont traités séparément. Avec une construction en élévation à alwyas être au top.

solution

est de supprimer cette élévation, écrire ceci dans le fichier xml dans votre bouton:

android: stateListAnimator = "@ null"