Frage

Ich habe zwei Ansichten, die ich möchte vertikal zentrieren in einem RelativeLayout.

Gibt es eine Möglichkeit, dies ohne Schwerkraft/layout_gravity zu tun?enter image description here

Mein Problem hinter dieser Frage:

Ich muss ein Layout mit mehreren Quadraten und unter jedem einer Textansicht erstellen.Das Hauptproblem besteht darin, dass sich die TextViews überlappen müssen.Es ist jeweils nur eine Textansicht sichtbar.Jede Textansicht hat eine andere Länge.

Ich habe mit einem RelativeLayout begonnen, bin aber auf das vorherige Problem gestoßen.Und ich kann die Ansichten nicht 2 pro 2 gruppieren, weil ich ein „layout_toRightOf“ des vorherigen Quadrats festlegen muss.

enter image description here

Aktuelles Layout:

Im Moment habe ich in „layout_marginLeft“ für jedes Quadrat (bis zum Rand der übergeordneten Ansicht) eine magische Zahl festgelegt, aber es ist überhaupt nicht sauber.

enter image description here

Danke

War es hilfreich?

Lösung 2

final, ich habe den layout_marginleft behalten, aber ich lege die Werte in meine res / Werte / dimens.xml, es ist sauberer und ich kann eine Abmessung.xml pro Bildschirmabmessung haben. Ein Trick besteht darin, die Breite der Textviews absichtlich groß einzustellen, damit er nicht von der Saiten-Länge abhängt.

Andere Tipps

Verwenden android:layout_centerInParent="true" etwas in einem zentrieren RelativeLayout
Sie können verwenden android:layout_below="@id/your_first_view" um deinen zweiten zu setzen View unter dem ersten !
Wenn Sie komplexere Aufgaben erledigen möchten, können Sie Ihre verschiedenen Ansichten trennen und in neuen speichern LinearLayout die Sie je nach Bedarf auf horizontal oder vertikal einstellen können.
Ein weiterer Trick kann darin bestehen, leere Ansichten mit geringer Höhe oder Breite zu erstellen, die Ihnen dabei helfen können, Dinge um sie herum zu positionieren!
Dies kombiniert mit dem toRightOf toLeftOf Das Zeug wird tun, was Sie wollen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top