Ich habe drei Ansichten in einer ConstraintLayout und ausrichten möge dann so ausrichten, enthaltend vertikale Kette, und A ist relativ zur Kette zentriert. Aber wie ordne ich die gesamte Gruppe in der Mitte zentriert? Beachten Sie, dass die Ansicht C möglicherweise GONE
ist.eine Gruppe von Ansichten, die eine Kette in einem ConstraintLayout
4
A
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.
Schritte
- Chain and pack B und C vertikal
- Kette und Pack A A und C horizontal
- Align B und C horizontal Zentren
- Zentrum vertikal
Verwandte Themen
- 1. ConstraintLayout: mehrere Ansichten gleichzeitig animieren
- 2. Programmgesteuerte Verbindung mehrerer Ansichten auf eine beliebige Größe mit ConstraintLayout
- 3. Wie abstrakt eine Gruppe von Ansichten
- 4. Erstellt eine Vererbungskette eine Kette von Konstruktoraufrufen?
- 5. Wie fügt man dynamisch eine Gruppe von Ansichten vor?
- 6. Sellerie: Eine Kette innerhalb einer Gruppe - Teilsignaturen nicht
- 7. Sellerie - Gruppe innerhalb einer Kette
- 8. Benutzerdefinierte Steigung für eine Kette von Ops
- 9. ConstraintLayout: Wie programmgesteuert mehrere Ansichten hinzufügen?
- 10. Get in SQL eine „Kette von Ereignissen“
- 11. Sauberste Möglichkeit, eine Kette von Fallbacks einzurichten?
- 12. Javascript Kette eine asynchrone Bildformatfunktion
- 13. Wie erstelle ich eine Kette von Variablennamen?
- 14. Stoppen eine AngularJS Versprechen Kette
- 15. Wie Kette, die eine Liste von binären Funktionen
- 16. Kette von Subtypings - nur eine Syntaxbeschränkung?
- 17. Wie kann ich ein "quadratisches" ConstraintLayout erstellen, das in einer Kette von Widgets enthalten ist?
- 18. Umschreiben eine bedingte Kette als eine Folge von Einzeiler
- 19. Verwenden von MySQL Wie kann ich eine große Gruppe auswählen, die eine kleinere Gruppe enthalten muss?
- 20. eine Gruppe von vertikalen Tasten erstellen - Ionic
- 21. Entfernen Sie eine bestimmte Gruppe von Elementen in einem Vektor?
- 22. ausschließen eine Gruppe, die localhost
- 23. Berechnen Sie eine Kette von Funktionen in Python
- 24. Mit der Gruppe Ergebnis in einer Sellerie-Kette
- 25. Funktion, die eine Gruppe von Objekten in ThreeJS klont?
- 26. Clip-Pfad durch eine Gruppe von Quadraten in einer Gruppe
- 27. Verwenden von ConstraintLayout in CardView
- 28. "Kette" der Additionsoperator in eine Funktion, die 3 Argumente akzeptiert?
- 29. Auswahl von Ansichten wie eine Bewertungsleiste
- 30. eine Gruppe von Abfrage in Django
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