Wie positioniere ich unter der niedrigsten von zwei Ansichten in ConstraintLayout?
Lesezeit: 5 Minuten
Ich habe zwei Header-Ansichten, HeaderViewA und HeaderViewB. Diese Ansichten können eine beliebige Kombination von Sichtbarkeiten haben visible oder gone.
Ich brauche BigView positioniert werden unter das am niedrigsten von beiden HeaderViewA/HeaderViewB.
Geht das ohne einzunisten ConstraintLayout?
Ich würde gerne eine andere Antwort hören, aber das ist afaik nicht möglich.
– F43nd1r
21. Februar 2017 um 1:31 Uhr
Interessant, sieht aber nicht nur über XML möglich aus. Sie möchten keine verschachtelten Ansichten, aber wenn Sie für programmgesteuerte Manipulationen offen sind, können Sie möglicherweise verwenden Beschränkungssatz.
– Cheticamp
21. Februar 2017 um 15:17 Uhr
Warum ist das Verschachteln eines ConstraintLayout ein Deal-Breaker?
– Alex Meuer
28. Juli 2017 um 9:31 Uhr
@AlexMeuer Verschachtelte Layouts wirken sich negativ auf die Leistung aus (siehe diesen Bericht Verstehen der Leistungsvorteile von ConstraintLayout). Das ist also das Hauptziel, Ihr Layout so flach wie möglich zu halten, und ConstraintLayout hat alle notwendigen Funktionen dafür.
– Eugen Brusov
4. Oktober 2017 um 10:35 Uhr
@EugeneBrusov Also habe ich es entdeckt. Ich glaube, mein Kommentar war, bevor die Barrierefähigkeit freigegeben wurde. Hier ist eine etwas andere Sicht auf ein ähnliches Problem.
– Cheticamp
5. Oktober 2017 um 16:07 Uhr
Jetzt ist es mit der Barrier-Klasse möglich, die in Constraint-Layout v1.1.0 eingeführt wurde.
Muss ich in meinem Projekt zuerst etwas tun, um Barriers zu implementieren?
– Zerato
15. November 2017 um 13:57 Uhr
@Zerato müssen Sie hinzufügen 'com.android.support.constraint:constraint-layout:1.1.0-beta3' Abhängigkeit von der Gradle-Datei Ihres Moduls und fügen Sie auch das Maven-Repository zur Gradle-Datei des Projekts hinzu. Alle Abhängigkeiten finden Sie in diesem GitHub-Projekt github.com/googlecodelabs/constraint-layout
– Eugen Brusov
15. November 2017 um 14:56 Uhr
Für diejenigen, die über das GUI-Tool auf diese Barrieren zugreifen möchten, kann es nicht mit der Textansicht, Bildansicht usw. durchsucht werden, sondern im Dropdown-Menü mit I-Balken-Symbolen, das Führungslinien enthält.
– Anders8
22. Juli 2018 um 19:29 Uhr
es ist androidx.constraintlayout.widget.Barrier für androidx
Achten Sie auf app:layout_constraintWidth_default="wrap" (mit Breite auf 0dp gesetzt). Wenn gesetzt, hat das Widget die gleiche Größe wie bei der Verwendung von wrap_content, wird aber durch Einschränkungen begrenzt (dh es wird nicht darüber hinaus erweitert) und app:layout_constraintVertical_bias="1.0". Verwenden Sie Bias, um BigView an das Ende seines übergeordneten Elements zu ziehen.
13109200cookie-checkWie positioniere ich unter der niedrigsten von zwei Ansichten in ConstraintLayout?yes
Ich würde gerne eine andere Antwort hören, aber das ist afaik nicht möglich.
– F43nd1r
21. Februar 2017 um 1:31 Uhr
Interessant, sieht aber nicht nur über XML möglich aus. Sie möchten keine verschachtelten Ansichten, aber wenn Sie für programmgesteuerte Manipulationen offen sind, können Sie möglicherweise verwenden Beschränkungssatz.
– Cheticamp
21. Februar 2017 um 15:17 Uhr
Warum ist das Verschachteln eines ConstraintLayout ein Deal-Breaker?
– Alex Meuer
28. Juli 2017 um 9:31 Uhr
@AlexMeuer Verschachtelte Layouts wirken sich negativ auf die Leistung aus (siehe diesen Bericht Verstehen der Leistungsvorteile von ConstraintLayout). Das ist also das Hauptziel, Ihr Layout so flach wie möglich zu halten, und ConstraintLayout hat alle notwendigen Funktionen dafür.
– Eugen Brusov
4. Oktober 2017 um 10:35 Uhr
@EugeneBrusov Also habe ich es entdeckt. Ich glaube, mein Kommentar war, bevor die Barrierefähigkeit freigegeben wurde. Hier ist eine etwas andere Sicht auf ein ähnliches Problem.
– Cheticamp
5. Oktober 2017 um 16:07 Uhr