Wie funktioniert die Autom. Anpassung an die Displaygröße (Multiple Sreens) ?

D

DMD-OL

Neues Mitglied
0
Hi
ich habe dieses Thema schon einmal in Allgemeines angesprochen, finde es aber jetzt leider nicht
mehr wieder .. :)
ich habe eine App erstellt und versuche jetzt, daß sich die App bei Installation an die verschiedenen Displaygrößen automatisch anpaßt.
Auf meinem Handy sieht alles ganz gut aus, aber wenn ich ein Handy mit anderer Displaygröße nehme, paßt das
alles nicht mehr.
Kann mir da jemand einen Tip zur Herangehensweise sagen?
Zur Zeit habe ich alle .xml files in res/layout und in mipmap/ic.launcher.png 5 gleiche Bilder für die einzelnen Displaygrößen.
Was habe ich denn zu tun, wenn ich die App für jede Displaygröße anwendbar machen will???
 
Hallo DMD,

Grundsätzlich werden bei Standardlayouts die Positionen selbst berechnet (z.b. LiniearLayout / Weight etc etc)

Ich selbst bin davon komplett abgerückt und platziere meine Elemente zur Laufzeit.
Mein AS Layout Editor dient nur noch dazu , die Elemente wahllos dort reinzuziehen, damit ich mir
die Erstellung zur Laufzeit erspare.

Dann berechne ich die Lage, Grösse, DPI & Inch des Devices und meine Elemente platziere ich immer im Fliesskomma Millimeter Bereich.

Somit bin ich mir sicher , dass meine Bedien.- Navigation immer 1 cm breit ist und - egal welche Auflösung - DIese immer mit dem Finger zu treffen sind.
Ab einer Zollgrösse von 6.5 Inch bekommen die dann alle nochmal ca 15% drauf.

Das ist zugegebener Massen irgendwann mal sehr aufwendig gewesen( eigene SingleTon klasse),
aber seit dem habe ich Ruhe auf jedem erdenklichen Device.

Zum Schluss exisiert dann nur noch eine Funktion

View myView = (View) findViewbyId (R.id.xx);
placeView (myView,rechts_in_mm,oben_in_mm,breite_in_mm,hoehe_in_mm);
 
Zuletzt bearbeitet:
Heftig. Ich muß also für jede displaygröße einen eigenen ordner in res (res/layout/small; res/layout/normal; res/layout/large und res/layout/xlarge) erstellen und alle schon fertigen .xml (bei mir so ca. 20 Stück) in den einzelnen smallOrdner, normalOrdner, largeOrdner und xlargeOrdner erneut an die jeweiligen Größen anpassen? PER HAND???
 
Nein, muss du nicht.
Es gibt unter Android relativ viele Möglichkeiten,für verschiedene Displaygrößen zu programmieren. Es gibt leider keinen goldenen Mittelweg

Ich benutze meistens nur ein Layout, sowohl für Tablets als auch für Smartphone. Für die Lösung von @swa00 bin ich einfach zu faul, und ich finde dass das Layout in einem XML gehört. Es gehört einfach kein Layout in den Code (solange es sich vermeiden lässt).

Aber du muss das selber ausprobieren. Es hängt auf viel von den persönlichen Vorlieben ab.

Sonst schau mal dort nach:

Supporting Multiple Screens | Android Developers

Design | Android Developers (Hier lohnt es sich rein zu schauen. Ist zwar sehr chaotisch strukturiert, aber man findet viele Infos, welche Werte man wählen muss.


Icon Design Guidelines | Android Developers
 
Supporting Multiple Screens | Android Developers hab ich schon einmal durchgearbeitet. Habe aber leider (bis auf benutze am besten überall wrap_content) nicht wirklich etwas verstanden.
kannst du mir vielleicht eine schrittweise herangehensweise geben, wie ich das machen muß?
so z.B.
1. zuerst kommt supports-screens in das manifest
Code:
<supports-screens
                  android:resizeable="true"
                  android:smallScreens="true"
                  android:normalScreens="true"
                  android:largeScreens="true"
                  android:xlargeScreens="true"
....
soweit bin ja schon einmal :)
 
Ich ziehe mich an dieser Stelle hier raus , weil ich es ( wie oben erklärt) nicht so mache .... :)

Viel Erfolg !!
 
trotzdem danke an dich swa00
[doublepost=1484911258,1484907844][/doublepost]@markus.tullius: Ich benutze meistens nur ein Layout, sowohl für Tablets als auch für Smartphone.

Ein Layout habe ich auch, weiß aber überhaupt nicht, wie ich vorgehen muß, da das für mich unter
SupportingMultipleScreens sehr viele Informationen sind. Ich überhaupt gern erstmal nur EINEN weg kennenlernen mit einem layout.
Ich habe auch keine Bilder und kein Landscape, alles Portrait.
 
Zuletzt bearbeitet:
danke
 
Bitte. Aber du muss selber damit herum spielen. Wenn es gar nicht funktioniert, bleibt Dir immer noch die Lösung von @swa00.
 
die ich leider auch nicht umsetzen kann :)
 
Einfach anfangen und sich langsam heran tasten. Und nicht sofort den Kopf in den Sand stecken. Schau Dir doch mal die Beispiele von Google an.
 

Ähnliche Themen

B
Antworten
0
Aufrufe
641
Ben1703
B
SaniMatthias
Antworten
19
Aufrufe
871
swa00
swa00
FabianDev
Antworten
5
Aufrufe
531
swa00
swa00
Zurück
Oben Unten