2015-04-14 10 views
5

Ich habe ein PictureFragment, mit dem ich ein Bild im Vollbildmodus anzeigen kann, wenn ich es aus meiner Miniaturansicht auswähle. Es funktioniert gut, aber wenn ich mein Smartphone rotiere, dreht sich das Bild auch und wird sehr hässlich skaliert, so dass seine Höhe jetzt seine tatsächliche Breite ist und so weiter. Wie kann ich die Rotation für dieses Fragment ausschalten? Ich habe immer gelesen, wie man es für eine ganze Aktivität macht, aber für den Rest der Aktivität, in der es läuft, möchte ich die automatische Rotation beibehalten. Oder, wenn dies auch einfach möglich ist, wie kann ich das Bild bei der Rotation sinnvoll skalieren, um das Seitenverhältnis beizubehalten?Automatisches Drehen im Fragment deaktivieren

Ich schätze jede Hilfe.

+0

Es ist besser, 'Orientierung' zu Ihrer' Aktivität' zu setzen. –

+0

Ich habe nur eine Aktivität und wechsle zwischen den Bildschirmen via Fragmentmanager. Und warum bekomme ich für diese Frage den Daumen runter? – unknown

+0

Ich denke, das Ihre Frage beantworten kann: http://stackoverflow.com/questions/13305861/fool-proof-way-to-handle-fragment-on-orientation-change –

Antwort

17

In Ihrem Fragment Anruf innerhalb onResume zu Portrait sperren:

getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 

dann in Orientierung zu entsperren:

getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR); 

OBS! Verwenden Sie vor Verwendung dieser Methoden if(getActivity != null).

+0

Ganz OBS ... Trotzdem danke. – unknown

Verwandte Themen