2017-06-21 11 views

Antwort

0

Die einfachste und verständliche Weise die Gruppe zum Zentrum ist es durch Verschachtelung die Ansichten innerhalb eines ConstraintLayout, dass, selbst eine Gruppe zu machen, in einem ConstraintLayout verschachtelt ist wie folgt:

<android.support.constraint.ConstraintLayout 
    android:id="@+id/outerLayout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <android.support.constraint.ConstraintLayout 
     android:id="@+id/innerLayout" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     app:layout_constraintBottom_toBottomOf="parent" 
     app:layout_constraintEnd_toEndOf="parent" 
     app:layout_constraintStart_toStartOf="parent" 
     app:layout_constraintTop_toTopOf="parent"> 

     [A, B, and C views here...] 

    </android.support.constraint.ConstraintLayout> 
</android.support.constraint.ConstraintLayout> 

Die äußere Layout konnte eine andere Art von ViewGroup wie LinearLayout mit gravity sein.

Andere Lösungen sind möglich, wie die kreative Verwendung von Ketten, Barrieren oder Richtlinien, aber die Einfachheit der skizzierten Lösung ist meiner Meinung nach am attraktivsten.

2

Hier ist eine visuelle Antwort ohne Verschachtelung Layouts.

animated demonstration

Schritte

  1. Chain and pack B und C vertikal
  2. Kette und Pack A A und C horizontal
  3. Align B und C horizontal Zentren
  4. Zentrum vertikal
+0

Wenn Ansicht C "GONE" sein könnte, dann denke ich, dass es am einfachsten wäre, B und C in ein 'LinearLayout' einzubinden und dann den Rest des Layouts mit Einschränkungen auszuführen. Das würde auch das mögliche Problem lösen, wo B breiter ist als C. – Suragch

Verwandte Themen