Einheitliches Layout

D

Droidjo

Erfahrenes Mitglied
21
Nachdem ich jetzt meine gesamte App fertig gecoded habe, stehe ich vor dem Problem das Layout zu vereinheitlichen. Momentan sieht es auf unterschiedlichen Bildschirmauflösungen und Formaten noch sehr unterschiedlich aus. ;)
Auf grossen Bildschirmen (ab 5 Zoll aufwärts) füllt die App nur den halben Bildschirm und auf kleinen Bildschirmen (2,7 und 3,2 Zoll) werden teile der App am unteren Rand einfach abgeschnitten. Wirklich optimal sieht die App nur auf 3,7 und 4 Zoll Bildschirmen aus.
Wie schafft man es also, dass sich die App immer perfekt an die unterschiedlichen Bildschirme skaliert? Von so Dingen wie Density-independent Pixeln mal abgesehen..., die habe ich natürlich verwendet.
 
Fragments, anders geht es nicht. Ich bin an dem gleichen Punkt im Moment wie du. Bei 10 Zoll hat man einfach viel mehr Platz für Informationen. Ich habe meine App komplett mit Fragments aufgebaut, mir sollte es nun nicht schwer fallen, das für kleine Bildschirme noch anzupassen.
 
Wie kommst du ausgerechnet auf Fragments?
 
Weil du viel dynamischer festlegen kannst, was auf den Screen angezeigt wird. Hast du dir mal die Doku dazu angesehen? Da wird es doch sehr deutlich, warum Fragments so wichtig sind.

Klar erhöht sich der Programmieraufwand, gerade wenn es um die Kommunikation von zwischen 2 Fragments geht, aber am Ende wird man nicht drum herum kommen.
 
Sorry, aber ich glaube du verstehst nicht ganz, um was es bei Fragments geht. Es geht hauptsächlich um dynamische Inhalte und das Verbinden von mehreren Activities, so wie es in dem Beispiel mit der ListView und der WebView gezeigt wird. Dies macht vor allem auf grossen Displays von Tablets Sinn, nicht aber bei Smartphones mit den kleinen 3 Zoll Bildschirmen.

Bei meiner App wüsste ich zum Beispiel gar nicht, was ich mit den Fragments anfangen soll, weil ich keinerlei Verwendung für sie habe. Von dem unverhältnismäßigen Mehraufwand, für die doppelte Programmierung in Java und xml, mal ganz zu schweigen.
 
Glaub mir, ich weiß, um was es bei Fragments geht ;) Fragments machen auch bei kleinen Bildschirmen Sinn. Willst du denn deine App 2 mal für große und kleine Displays programmieren?! Dann scheinst du den Sinn nicht verstanden zu haben.

So so, und deine App soll nur auf 3-5 Zoll laufen. Was machst du mit Tablets mit 7-10 Zoll? Und bei Fragments gibt es definitiv keinen doppelten Programmieraufwand, gerade deshalb werden sie verwendet ;) Sie werden explizit von Google empfohlen. Natürlich muss man etwas mehr Zeit in die Entwicklung stecken, es lohnt sich am Ende aber definitiv.
 
v Ralle v schrieb:
Glaub mir, ich weiß, um was es bei Fragments geht ;) Fragments machen auch bei kleinen Bildschirmen Sinn. Willst du denn deine App 2 mal für große und kleine Displays programmieren?! Dann scheinst du den Sinn nicht verstanden zu haben.
Die Ausgangsfrage war, wie es sich realisieren lässt, dass sich das Layout immer perfekt an den Bildschirm skaliert. Die Frage war nicht, wie ich mehrere Activities verbinde.

v Ralle v schrieb:
Und bei Fragments gibt es definitiv keinen doppelten Programmieraufwand,..... Natürlich muss man etwas mehr Zeit in die Entwicklung stecken,.....
:rolleyes2:
 
Unter doppelten Programmieraufwand verstehe ich zB. 2 Activities, die das Gleiche für unterschiedliche Bildschirmgrößen machen ;) Mehraufwand - Doppelter Aufwand ist ein Unterschied für mich.

Fragments sind nicht dazu da, Activities miteinander zu verbinden. Punkt. Spielst du vielleicht darauf an: Supporting Multiple Screens | Android Developers ?

Wobei du mir immernoch nicht die Frage beantwortet hast, wie du Tablets unterstützen willst ;)
 
v Ralle v schrieb:
Unter doppelten Programmieraufwand verstehe ich zB. 2 Activities, die das Gleiche für unterschiedliche Bildschirmgrößen machen ;) Mehraufwand - Doppelter Aufwand ist ein Unterschied für mich.

Fragments sind nicht dazu da, Activities miteinander zu verbinden. Punkt. Spielst du vielleicht darauf an: Supporting Multiple Screens | Android Developers ?
Das kommt dem Problem schon näher, wobei ich die Tipps, die dort genannt sind, während der Entwicklung schon umgesetzt habe. Zur Skalierung des Gesamtlayouts, habe ich bisher noch nirgendwo Tipps gefunden. Es stellt sich zum Beispiel die Frage warum das erste parent-layout, obwohl width und height auf "fill parent" gestellt sind, bei 7 oder 10 Zoll Tablets nur die Hälfte des Bildschirms einnehmen und bei Bildschirmen unter 3,2 Zoll sogar Teile des Layouts einfach abschneiden.
v Ralle v schrieb:
Wobei du mir immernoch nicht die Frage beantwortet hast, wie du Tablets unterstützen willst ;)
Das kommt darauf an, was du unter "unterstützen" verstehst. Nur weil das Layout nur die Hälfte der 7-10 Zoll Bildschirme einnimmt, würde ich nicht sagen, dass sie nicht unterstützt werden. Viel schlimmer finde ich, wenn Teile des Layouts einfach abgeschnitten werden, wie bei den kleinen < 3,2 Zoll Bildschirmen.
 
Das mit dem fill_parent kann auch an den Kinderelementen liegen. Probiere da einfach mal ein bisschen rum. Bei dem Abschneiden wirst du um eine ScrollView oder mehrere Screens nicht drum herum kommen. Hier würden sich unter Umständen bei mehreren Screens sogar Fragments wieder bezahlt machen ;)

Naja, ich finde es bei Apps schon ärgerlich, wenn ich mehrmals "klicken" muss, nur weil der Bildschirm nicht komplett ausgenutzt wird. Klar funktioniert es, es ist aber einfach nicht angenehm und das meiste Feedback wirst du zur User Experience bekommen.
 
v Ralle v schrieb:
Das mit dem fill_parent kann auch an den Kinderelementen liegen. Probiere da einfach mal ein bisschen rum. Bei dem Abschneiden wirst du um eine ScrollView oder mehrere Screens nicht drum herum kommen. Hier würden sich unter Umständen bei mehreren Screens sogar Fragments wieder bezahlt machen ;)
Die ScrollView hatte ich bereits getestet, aber die ist echt zum abgewöhnen. Eine entsprechende Skalierung wäre einfach noch am besten.
Wie müssten denn die child layouts inkl. Views am besten in der height konfiguriert werden? Ich hatte da auch schon mit "fill_parent" und "match_parent" rumgetestet, aber das hatte nur zum Resultat, dass manche Teile des Gesamtlayouts, gänzlich vom Bildschirm gekickt wurden. Feste dp Grössen sind ebenso wenig von Erfolg gekrönt.
v Ralle v schrieb:
Naja, ich finde es bei Apps schon ärgerlich, wenn ich mehrmals "klicken" muss, nur weil der Bildschirm nicht komplett ausgenutzt wird. Klar funktioniert es, es ist aber einfach nicht angenehm und das meiste Feedback wirst du zur User Experience bekommen.
Ok, aber die Activities, die ich benutze, haben wirklich nichts miteinander zu tun. Von daher wäre es für den Nutzer auch ärgerlich, wenn die einfach nebeneinander angezeigt würden.
Ausserdem überlege ich noch, ob ich Werbung in meine App einbeziehen will. Da will man den User ja auch ein wenig klicken lassen.
 
Da kann ich dir nicht weiter helfen, da ich dein Layout nicht kenne, müsste ich nur raten. Aber wenn der Platz knapp ist, arbeite am besten immer mit match_parent.
 

Ähnliche Themen

L
Antworten
4
Aufrufe
1.329
lonnie9020
L
A
Antworten
1
Aufrufe
878
koje71
koje71
T
Antworten
4
Aufrufe
1.230
jogimuc
J
Zurück
Oben Unten