Ich habe ein Layout und muss eine der Ansichten in der Mitte platzieren. Es ist einfach. Das Problem ist, dass ich auch einige andere Ansichten habe, die oben auf dem Bildschirm positioniert werden müssen.
Problem: Wenn genügend Platz vorhanden ist, sieht es zwar gut aus, aber wenn der Bildschirm zu klein ist, überlappen sich die oberen und mittleren Elemente .
Frage: Wie wird das "zentrierte" Element gedrückt, wenn der Bildschirm zu klein ist?
Das ursprüngliche Layout ist sehr komplex, ich habe ein Beispiel vorbereitet:
%Vor%Hier ist eine kleine Simulation. Das mittlere Bild zeigt, wie es auf einem kleinen Bildschirm aussieht, und die Bilder auf den Seiten zeigen die gewünschte Situation.
Ich bezweifle wirklich, dass Sie dies direkt in der Layout-Datei tun können, da ein XML-Layout nicht der Ort für eine solche bedingte Logik ist. Die einzige wirkliche Situation, in der du (denke ich) die Layoutdatei verwenden könntest, wäre, wenn du wüsstest, dass die genauen Dimensionen der beteiligten Views plus die API - Ebene der App 3.2
wären, wodurch viele Layouts für verschiedene Situationen erstellt würden Ich bezweifle wirklich).
Wenn Sie eine der Ansichten in RelativeLayout
zentrieren, wird sie zentriert, egal was passiert. Sie hat nicht die Absicht, Ansichten auf der Ebene der XML-Layoutdatei zu überlagern. Im Code ist eine andere Sache.
Nun, ich ändere diese Antwort vollständig. Falls die gewünschte Ausrichtung vertikal ist, können Sie Ihren Code in ein RelativeLayout einfügen, das _fill_parent_ ist und unterhalb von theOneAtTheTop ist. Darin können Sie die Ansicht, die Sie vertikal zentriert ausrichten möchten.
%Vor%Hoffe es hilft
füge einfach android:layout_below="@+id/theOneAtTheTop"
zum zweiten TextView hinzu und du kannst loslegen.
%Vor%
Tags und Links android android-layout