Related question. Antwort: RelativeLayout kann es nicht tun. Ich frage, wie man es trotzdem macht, mit nicht nur RL, oder mit etwas anderem.Wie wird die Ansicht (wie in RelativeLayout) mit einer Neffe-Ansicht ausgerichtet?
Allgemeine Geschichte: Sie haben ein komplexes Layout, das schwer zu justieren wäre, und mit der Aufforderung, etwas hinzuzufügen, das auf eine verschachtelte Ansicht ausgerichtet ist.
Was ist der beste Ansatz? Ein Popup mit einem benutzerdefinierten Stil? (noch nicht vertraut mit denen)? Ausgaben Tage ändern die gesamte Hierarchie zu einem einzigen RelativeLayout
? Eine benutzerdefinierte Layout-Klasse als Wrapper?
AbsoluteLayout
(veraltet) oder FrameLayout mit programmgesteuert geändert LayoutParams
oder Margen? (dies würde ich lieber vermeiden, ich möchte nicht aufMeasure tippen, usw.)
Vereinfachtes Beispiel (keine Beziehung zu Bild oben):
LinearLayout definiert relative Höhen der Elemente. Ich weiß es nicht mit RelativeLayout.
anExpandableView
ist etwas zu animieren, wie unter someBar
(hier, volle Breite, aber vielleicht muss es seine Breite sowie vertikale Position ausrichten müssen) zu gleiten.
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:animateLayoutChanges="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include
android:id="@+id/topStuff"
layout="@layout/incl_topstuff"
android:layout_width="match_parent"
android:layout_weight="7"
android:layout_height="0dip" />
<include
android:id="@+id/someBar"
layout="@layout/incl_filters_and_stuff"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<include
android:id="@+id/bottomStuff"
layout="@layout/incl_bottomstuff"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="10" />
</LinearLayout>
<include
android:id="@+id/anExpandableView"
layout="@layout/incl_filters"
android:visibility="gone"
android:layout_below="@id/someBar"/>
</RelativeLayout>
Ich weiß, SO hat eine Abneigung gegen allgemeine Fragen haben, aber ich weiß nicht eine Ad-hoc-Lösung wollen. Ich frage, was in Fällen zu tun wäre, die gelöst würden, wenn nur ein Wrapping RelativeLayout
die Ausrichtung zu einer Ansicht erlauben würde, die kein direktes Geschwister ist.
Vielleicht könnten Sie ein grafisches Diagramm von dem, was Sie möchten, um Ihre Ansicht aussehen ... – Elye
Ich wusste es, eine Nachfrage für einen bestimmten Fall. Nein, ich lehne ab. Ich möchte das Äquivalent von 'layout_alignBottom' oder' layout_below' usw. machen, wobei ich nicht auf eine Geschwisteransicht referenziere, sondern etwas, das tiefer geschachtelt ist. Ich habe 'include' verwendet, weil es nicht wichtig ist, was die Ansichten sind, nur was" anExpandableView "positionieren muss. Wenn Sie Verständnisprobleme haben, zeigen Sie bitte auf den unklaren Teil. – kaay
Der erste Satz selbst ist bereits sehr kryptisch 'Sie haben ein komplexes Layout und eine Aufforderung, etwas hinzuzufügen, das auf eine verschachtelte Ansicht ausgerichtet ist. Was meinst du mit komplexes Layout? Eine Ansicht kann als geschachtelt betrachtet werden oder nicht, je nachdem, welches Layout sie verwendet ... daher ist es ohne den richtigen Kontext schwierig, die Frage zu verstehen. Wenn ein "grafisches Diagramm" uns dazu bringen würde, Ihnen eine starre Antwort zu geben, könnten Sie vielleicht zwei oder mehr Diagramme zur Verfügung stellen, um die allgemeine Idee zu beschreiben. – Elye