Probleme mit der Ausrichtung der App

N

Nebukad

Neues Mitglied
2
Moin,

ich habe ein Problem mit der Ausrichtung der App beim Starten und komme da irgendwie nicht weiter.

Die App soll in "SCREEN_ORIENTATION_REVERSE_PORTRAIT" ausgeführt werden. Dies klappt auch wunderbar, wenn die App aus dieser Ausrichtung heraus gestartet wird. Startet man allerdings aus dem Querformat heraus, dann stürzt die App gleich ab, weil es natürlich keine Buttons im Layout des Querformats gibt und er dann beim Setzen der onClickListener eine NullpointerException wirft. (Das Querformat benutze ich momentan nicht, die XML ist zwar da, aber nicht auf dem aktuellen Stand und wird eigentlich auch nirgendwo aufgerufen, diese soll vielleicht später mal hinzukommen).

Im Manifest der App steht für die Activity android:screenOrientation="reversePortait".
Beim Start der App wird zudem nochmal this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT); aufgerufen und dann erst setContentView(R.layout.main) aufgerufen. (Andersherum macht auch keinen Unterschied).

MfG
 
Wenn du sowieso nur den Portrait-Modus benötigst, dann kannst du den Gravitationssensor auch "abschalten" und den Portrait Modus erzwingen

Einfach folgenden Code in die onCreate Anweisung einfügen

Code:
this.setRequestedOrientation(
				ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

Das hier kann dir möglicherweise hilfreich sein.
 
Genau das mach ich doch, allerdings schmiert die App ab, wenn das Gerät aus dem Querformat heraus die App startet.
 
Ich habe das gerade getestet und bei mir schmiert nichts ab und das Layout wird im Portraitmodus geladen

Vielleicht den "Bildschirmausrichtungscode" der Seite übernehmen und mit deinem ersetzen?
 
"schmiert ab", ist keine phrase, die man im entwickler forum sehen will :)

zeig den logcat, dann kann dir geholfen werden.
 
LogCat wirft eine NullPointerException, weil die App den Button beim Setzen des OnClickListeners nicht findet, da dieser im Layout fürs Querformat nicht existiert. Ich hab jetzt das layout-land einfach komplett aus dem Projekt entfernt, obwohl ich das nicht wollte, da ich dieses später ggf. noch nutzen wollte. Ohne layout-land Ordner funktioniert das ganze jetzt problemlos.

Also muss die App das Querformat trotzdem beim Start laden (auch wenn nicht sichtbar), wenn man aus dem Querformat die App startet, obwohl eigentlich im Manifest und in der OnCreate-Methode das Portraitformat festgeschrieben ist, und erst danach das Hochformat.
 
naja ich denke das liegt auf der hand ( meine vermutung halt )

du hast dein gerät im landscape modus, startest die app. erst in deinem oncreate wird auf portrait mode gewechselt.

1) wenn du nur portrait hast, machts keinen sinn einen layout-land ordner zu haben :)

2) versuch mal die screenorientation direkt im manifest zu setzen. eventuell wird das dann vorher schon richtig gemacht.
 

Ähnliche Themen

S
Antworten
33
Aufrufe
2.540
Sempervivum
S
R
Antworten
3
Aufrufe
1.571
Ritartet
R
B
Antworten
4
Aufrufe
430
bb321
B
Zurück
Oben Unten