Jak wyłączyć tryb krajobrazowy w Androidzie?

Odpowiedzi:

1631

Dodaj android:screenOrientation="portrait"do działania w pliku AndroidManifest.xml. Na przykład:

<activity android:name=".SomeActivity"
    android:label="@string/app_name"
    android:screenOrientation="portrait" />

EDYCJA: Ponieważ stało się to bardzo popularną odpowiedzią, czuję się bardzo winny, ponieważ zmuszanie do portretowania rzadko jest właściwym rozwiązaniem problemów, do których często się stosuje.
Główne zastrzeżenia dotyczące wymuszonego portretu:

  • Nie zwalnia Cię to z konieczności myślenia o zdarzeniach w cyklu życia aktywności lub prawidłowego zapisywania / przywracania stanu. Oprócz rotacji aplikacji istnieje wiele rzeczy, które mogą spowodować zniszczenie / odtwarzanie aktywności, w tym nieuniknione rzeczy, takie jak wielozadaniowość. Nie ma skrótów; naucz się korzystać z pakietów i retainInstancefragmentów.
  • Należy pamiętać, że w przeciwieństwie do dość jednolitego sposobu korzystania z iPhone'a, istnieje kilka urządzeń, w których portret nie jest wyraźnie popularną orientacją. Gdy użytkownicy są na urządzeniach ze sprzętową klawiaturą lub konsolą do gier, a także Nvidia Shield, na Chromebookach , na urządzeniach składanych lub na Samsung DeX , wymuszenie portretu może sprawić, że korzystanie z aplikacji będzie ograniczone lub będzie ogromnym problemem w zakresie użyteczności. Jeśli Twoja aplikacja nie ma silnego argumentu UX, który prowadziłby do negatywnych doświadczeń w zakresie obsługi innych orientacji, prawdopodobnie nie powinieneś wymuszać krajobrazu. Mówię o takich rzeczach, jak: „jest to aplikacja kasy fiskalnej dla jednego określonego modelu tabletu, zawsze używana w stałej stacji dokującej”.

Dlatego większość aplikacji powinna pozwalać czujnikom telefonu, oprogramowaniu i fizycznej konfiguracji na podejmowanie własnych decyzji dotyczących sposobu interakcji użytkownika z aplikacją. Kilka przypadków, o których warto pomyśleć, jeśli nie jesteś zadowolony z domyślnego zachowania sensororientacji w twoim przypadku użycia:

  • Jeśli Twoim głównym problemem są przypadkowe zmiany orientacji w połowie aktywności, która Twoim zdaniem czujniki i oprogramowanie urządzenia nie poradzą sobie dobrze (na przykład w grze opartej na przechylaniu), rozważ obsługę krajobrazu i portretu, ale użyj nosensororientacji. Wymusza to orientację poziomą na większości tabletów i portret na większości telefonów, ale nadal nie zalecałbym tego w przypadku większości „normalnych” aplikacji (niektórzy użytkownicy lubią pisać na klawiaturze programowej w orientacji poziomej na swoich telefonach, a wielu użytkowników tabletów czyta w trybie pionowym - i powinieneś im pozwolić).
  • Jeśli z jakiegoś powodu nadal musisz wymusić portret, sensorPortraitmoże być lepszy niż w portraitprzypadku Androida 2.3+; pozwala to na odwrócenie portretu, co jest dość powszechne w przypadku używania tabletu.
Yoni Samlan
źródło
54
Można to zrobić dla całej aplikacji. Sprawdź to stackoverflow.com/a/9784269/1300707
Liam George Betsworth
1
Zauważyłem, że jest jeszcze jeden portret: sensorPortait. Jaka jest różnica między czujnikiem Portretu a portretem?
Jacky
1
Jeśli czytasz dokumenty Google : „Orientacja pionowa, ale może być normalna lub odwrócona w zależności od czujnika urządzenia. Dodano w interfejsie API poziomu 9.” A więc - to znaczy - „pionowo, prawą stroną do góry lub do góry nogami, tylko Android 2.3+”.
Yoni Samlan
2
Jak zauważyłem w mojej odpowiedzi poniżej - aby obejść kilka problemów, „nosensor” jest prawdopodobnie lepszą opcją.
Mike Weir,
1
Muszę powiedzieć, że się nie zgadzam. Nie wszystkie doświadczenia są kompatybilne z trybem poziomym na telefonach, więc powinieneś decydować o UX, a nie o czujnikach. Nie dotyczy to jednak tabletów.
Renzo Tissoni
110

AndroidManifest.xmlDopóki nie przeczytałem tego posta, nie wiedziałem o zmianie pliku, więc w moich aplikacjach użyłem tego:

setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);     //  Fixed Portrait orientation
Bogaty
źródło
9
może to spowodować, że Twoja aktywność skoczy przy pierwszym ładowaniu, jeśli urządzenie nie jest ustawione w określonej orientacji.
Dori,
Korzystałem z tej metody, dzwoniłem do niej w OnCreate, a następnie czytałem dane z niektórych plików zasobów. Gdybym uruchomił aplikację z urządzeniem w orientacji poziomej, obracałby się, ale spowodowałby to błędny odczyt tych zasobów inicjalizacyjnych z jakiegoś dziwnego powodu (być może powinienem poczekać, aż obrót zakończy się w jakiś sposób). Użycie alternatywy xml nie spowodowało tego problemu.
Radu Simionescu,
1
Może to być problem z sekwencją uruchamiania programów na Androida. Możesz spróbować przenieść setRequestedOrientation () do onResume () ???
Bogaty
45

Dodaj to android:screenOrientation="portrait"do pliku manifestu, w którym deklarujesz swoją aktywność w ten sposób

<activity android:name=".yourActivity"
    ....
    android:screenOrientation="portrait" />

Jeśli chcesz to zrobić za pomocą kodu Java, spróbuj

setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 

przed wywołaniem setContentViewmetody dla swojej aktywności w onCreate().

Mam nadzieję, że ta pomoc będzie zrozumiała dla wszystkich ...

Deepak Swami
źródło
29

Wiele odpowiedzi tutaj sugeruje się użyć "portrait"w pliku AndroidManifest.xml. To może wydawać się dobrym rozwiązaniem - ale jak zauważono w dokumentacji, wyróżniasz urządzenia, które mogą mieć tylko krajobraz. Zmuszasz także niektóre urządzenia (najlepiej działające w krajobrazie) do przejścia w pionie, nie uzyskując właściwej orientacji.

Moją propozycją jest użycie "nosensor"zamiast tego. Spowoduje to, że urządzenie będzie korzystało z domyślnej preferowanej orientacji, nie zablokuje żadnych zakupów / pobrań w Google Play i zapewni, że czujnik nie zepsuje twojej (NDK, w moim przypadku) gry.

Mike Weir
źródło
Ponieważ wielu głosuje za tym, chciałbym zauważyć, że od tamtej pory poszedłem z innymi odpowiedziami sugerującymi „portret”, ponieważ niektóre niejasne urządzenia faktycznie reagują nieprzewidywalnie, gdy chcą zastosować rotację ekranu w aplikacji, która stała się wymóg później dla mnie. Wątpię też, by jakiekolwiek aplikacje z „portretem” zostały zablokowane przez jakąkolwiek konfigurację Google Play.
Mike Weir
Google Play faktycznie odfiltrowuje aplikacje przeznaczone tylko do portretu na urządzeniach tylko do pracy w orientacji poziomej, patrz uwaga na tej stronie: developer.android.com/guide/topics/manifest/... („wartość, którą deklarujesz, umożliwia filtrowanie według usług takich jak Google Play ”)
miracle2k,
14

Po prostu dodaj Like this Line in Your Manifest

android: screenOrientation = "portret"

<manifest
    package="com.example.speedtest"
    android:versionCode="1"
    android:versionName="1.0" >

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >


        <activity
            android:name="ComparisionActivity"
            android:label="@string/app_name"
            android:screenOrientation="portrait" >
        </activity>

    </application>

</manifest>   
Sunil Chaudhary
źródło
13

Jeśli chcesz ustawienia użytkownika,

to polecam setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

Możesz zmienić ustawienia z menu ustawień.

Wymagam tego, ponieważ moje zegary muszą odpowiadać temu, co jest na ekranie, a obracanie ekranu zniszczy bieżącą aktywność.

Stephen
źródło
9

Możesz to zrobić dla całej aplikacji bez konieczności przekształcania wszystkich działań w wspólną klasę bazową.

Sztuczka polega na tym, aby upewnić się, że do projektu dołączono podklasę aplikacji. W funkcji onCreate (), wywoływanej przy pierwszym uruchomieniu aplikacji, rejestrujesz obiekt ActivityLifecycleCallbacks (poziom API 14+), aby otrzymywać powiadomienia o zdarzeniach cyklu życia aktywności.

Daje to możliwość wykonywania własnego kodu za każdym razem, gdy dowolne działanie w aplikacji zostanie uruchomione (zatrzymane, wznowione lub cokolwiek innego). W tym momencie możesz wywołać setRequestedOrientation () na nowo utworzonym działaniu.

I nie zapomnij dodać aplikacji: name = ". MyApp" w pliku manifestu.

class MyApp extends Application {

    @Override
    public void onCreate() {
        super.onCreate();  

        // register to be informed of activities starting up
        registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {

            @Override
            public void onActivityCreated(Activity activity, 
                                          Bundle savedInstanceState) {

                // new activity created; force its orientation to portrait
                activity.setRequestedOrientation(
                    ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
            }
            ....
        });
    }
}
Brinda Rathod
źródło
7

Użyj tego w onCreate () działania

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
Karan Datwani
źródło
7

Powinieneś zmienić android:screenOrientation="sensorPortrait"w AndroidManifest.xml

vuhung3990
źródło
6

Po prostu dodaj ten atrybut do tagu aktywności.

 android:screenOrientation="portrait"
Deepak Sharma
źródło
6

Jeśli nie chcesz lepiej męczyć się z dodawaniem orientacji w każdym przejawie pozycji działania, utwórz klasę BaseActivity (dziedziczy „Activity” lub „AppCompatActivity”), która będzie dziedziczona przez każdą aktywność aplikacji zamiast „Activity ”lub„ AppCompatActivity ”i wystarczy dodać następujący fragment kodu do BaseActivity:

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    // rest of your code......
}
alchemik
źródło
5

Dodaj android:screenOrientation="portrait"do działania, które chcesz wyłączyć tryb krajobrazu.

Zhenxiao Hao
źródło
5

Jeśli chcesz wyłączyć Landscape mode for your android app(lub pojedyncze działanie), wszystko co musisz zrobić, to dodać,

android:screenOrientation="portrait"do znacznika aktywności w AndroidManifest.xmlpliku.

Lubić:

<activity android:name="YourActivityName" 
    android:icon="@drawable/ic_launcher" 
    android:label="Your App Name" 
    android:screenOrientation="portrait">

Inna droga, podejście programowe.

Jeśli chcesz to zrobić programowo, tj. za pomocą kodu Java. Możesz to zrobić, dodając poniższy kod do klasy Java działania, którego nie chcesz wyświetlać w trybie poziomym.

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

Mam nadzieję, że ci to pomoże. Aby uzyskać więcej informacji, odwiedź tutaj, wprowadź opis linku tutaj

IntelliJ Amiya
źródło
2
Ponieważ tak wiele odpowiedzi zawiera porady, które są sprzeczne z dobrą radą @Phoenix i @Yoni, myślę, że dobrym pomysłem jest powtórzenie tego, co sugerują:android:screenOrientation="nosensor">
DSlomer64 18.04.15
1
@ DSlomer64 Tak. Jeśli chcesz poradzić sobie z tabletami, powinieneś użyć wartości nosensor zamiast portretu
IntelliJ Amiya
5

Jak zmienić orientację w niektórych widokach

Zamiast blokować orientację całej aktywności, możesz użyć tej klasy, aby dynamicznie zablokować orientację z dowolnego widoku w sposób pragmatyczny: -

Zrób swój widok Krajobraz

OrientationUtils.lockOrientationLandscape(mActivity);

Zrób swój widok Portret

OrientationUtils.lockOrientationPortrait(mActivity);

Odblokuj orientację

OrientationUtils.unlockOrientation(mActivity);

Orientacja Util Class

import android.app.Activity;
import android.content.Context;
import android.content.pm.ActivityInfo;
import android.content.res.Configuration;
import android.os.Build;
import android.view.Surface;
import android.view.WindowManager;

/*  * This class is used to lock orientation of android app in nay android devices 
 */

public class OrientationUtils {
    private OrientationUtils() {
    }

    /** Locks the device window in landscape mode. */
    public static void lockOrientationLandscape(Activity activity) {
        activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
    }

    /** Locks the device window in portrait mode. */
    public static void lockOrientationPortrait(Activity activity) {
        activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    }

    /** Locks the device window in actual screen mode. */
    public static void lockOrientation(Activity activity) {
        final int orientation = activity.getResources().getConfiguration().orientation;
        final int rotation = ((WindowManager) activity.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay()
                .getRotation();

        // Copied from Android docs, since we don't have these values in Froyo
        // 2.2
        int SCREEN_ORIENTATION_REVERSE_LANDSCAPE = 8;
        int SCREEN_ORIENTATION_REVERSE_PORTRAIT = 9;

        // Build.VERSION.SDK_INT <= Build.VERSION_CODES.FROYO
        if (!(Build.VERSION.SDK_INT <= Build.VERSION_CODES.FROYO)) {
            SCREEN_ORIENTATION_REVERSE_LANDSCAPE = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
            SCREEN_ORIENTATION_REVERSE_PORTRAIT = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
        }

        if (rotation == Surface.ROTATION_0 || rotation == Surface.ROTATION_90) {
            if (orientation == Configuration.ORIENTATION_PORTRAIT) {
                activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
            } else if (orientation == Configuration.ORIENTATION_LANDSCAPE) {
                activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
            }
        } else if (rotation == Surface.ROTATION_180 || rotation == Surface.ROTATION_270) {
            if (orientation == Configuration.ORIENTATION_PORTRAIT) {
                activity.setRequestedOrientation(SCREEN_ORIENTATION_REVERSE_PORTRAIT);
            } else if (orientation == Configuration.ORIENTATION_LANDSCAPE) {
                activity.setRequestedOrientation(SCREEN_ORIENTATION_REVERSE_LANDSCAPE);
            }
        }
    }

    /** Unlocks the device window in user defined screen mode. */
    public static void unlockOrientation(Activity activity) {
        activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_USER);
    }

}
Hitesh Sahu
źródło
4

posługiwać się

android:configChanges="keyboardHidden|orientation"
android:screenOrientation="portrait" 
Swayam
źródło
4

Musisz ustawić orientację każdego działania.

<activity
                android:name="com.example.SplashScreen2"
                android:label="@string/app_name"
                android:screenOrientation="portrait"
                android:theme="@android:style/Theme.Black.NoTitleBar" >
            </activity>
            <activity
                android:name="com.example.Registration"
                android:label="@string/app_name"
                android:screenOrientation="portrait"
                android:theme="@android:style/Theme.Black.NoTitleBar" >
            </activity>
            <activity
                android:name="com.example.Verification"
                android:label="@string/app_name"
                android:screenOrientation="portrait"
                android:theme="@android:style/Theme.Black.NoTitleBar" >
            </activity>
            <activity
                android:name="com.example.WelcomeAlmostDone"
                android:label="@string/app_name"
                android:screenOrientation="portrait"
                android:theme="@android:style/Theme.Black.NoTitleBar" >
            </activity>
            <activity
                android:name="com.example.PasswordRegistration"
                android:label="@string/app_name"
                android:screenOrientation="portrait"
                android:theme="@android:style/Theme.Black.NoTitleBar" >
            </activity>
Akshay Paliwal
źródło
4

dodaj klasę do metody oncreate ()

 setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
Kumar
źródło
4

Jeśli używasz Xamarin C #, niektóre z tych rozwiązań nie będą działać. Oto rozwiązanie, które według mnie działa.

[Activity(MainLauncher = true, Icon = "@drawable/icon", ScreenOrientation = ScreenOrientation.Portrait)]

Powyżej klasy działa dobrze, podobnie jak inne rozwiązania, również nie ma zastosowania na całym świecie i należy ją umieścić w każdym nagłówku działania.

Derek Kelly
źródło
4

Możesz zmusić określoną aktywność do pozostawania w trybie portretowym, pisząc to w pliku manifest.xml

 <activity android:name=".MainActivity"
        android:screenOrientation="portrait"></activity>

Możesz także zmusić swoją aktywność do pozostania w trybie postrait, pisząc następujący wiersz w metodzie onCreate () twojej aktywności

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.your_layout);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

}
Mansuu ....
źródło
3
<android . . . >
    . . .
    <manifest . . . >
        . . .
        <application>
            <activity android:name=".MyActivity" 
                android:screenOrientation="portrait" 
                android:configChanges="keyboardHidden|orientation">
            </activity>
        </application>
    </manifest>
</android>

źródło
3

Dodaj poniżej wyróżnienie swojego projektu,

instalacja npm

npm i reaguje na natywną blokadę orientacji

następnie używasz klasy manifestu, takiej jak React_Native (Your Project Folder) / android / app / src / main / AndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>

<application
  android:name=".MainApplication"
  android:label="@string/app_name"
  android:icon="@mipmap/ic_launcher"
  android:allowBackup="false"
  android:theme="@style/AppTheme">
  <activity
    android:name=".MainActivity"
    android:label="@string/app_name"
    android:screenOrientation="landscape"
    android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
    android:windowSoftInputMode="adjustResize">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
  </activity>
  <activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
</application>

Dziękuję Ci!

shanmuga Rajan
źródło
2

W <apphome>/platform/androidutworzonym katalogu AndroidManifest.xml(kopiowanie go z wygenerowanego). Następnie dodaj android:screenOrientation=portrait” do WSZYSTKICH elementów działania.

użytkownik811985
źródło
2
 <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="in.co.nurture.bajajfinserv">
    <uses-permission android:name="android.permission.INTERNET"></uses-permission>


    <application

        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity" android:screenOrientation="portrait">

            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

możemy ograniczyć Aktywność w trybie pionowym lub poziomym za pomocą atrybutu lub Androida: screenOrientation.

jeśli w moim programie jest więcej niż jedna aktywność, masz swobodę ograniczenia dowolnej aktywności w dowolnym trybie i nigdy nie wpływa to na inne, których nie chcesz.

Amit Kumar
źródło
2

Albo w oczywistej klasie.

<activity android:name=".yourActivity"
    ....
    android:screenOrientation="portrait" />

lub programowo

setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 

Uwaga: powinieneś to nazwać przed setContentViewmetodą dla swojej aktywności w onCreate().

Khemraj
źródło
2

Dodaj android:screenOrientation="portrait"w AndroidManifest.xml pliku .

Na przykład :

<activity android:name=".MapScreen" 
 android:screenOrientation="portrait"></activity>
Pradeep Sodhi
źródło
1

Aby pomóc komuś innemu, wystarczy następujący atrybut w AKTYWNOŚCI w AndroidManifest.xml:

android: configChanges = "orientacja"

Zatem pełny węzeł aktywności:

<activity android:name="Activity1" 
    android:icon="@drawable/icon" 
    android:label="App Name" 
    android:configChanges="orientation">
Ben
źródło
Pozostało tyle odpowiedzi, że powinieneś podać więcej informacji, dlaczego warto użyć swojej. Szczególnie doktorzy mówią, że nie używają tej opcji: „Uwaga: Należy unikać używania tego atrybutu i używać go tylko w ostateczności. Przeczytaj artykuł Obsługa zmian w środowisku wykonawczym, aby uzyskać więcej informacji o tym, jak poprawnie obsługiwać restart z powodu zmiany konfiguracji”. developer.android.com/guide/topics/manifest/…
Murmel
1

W kotlin to samo można osiągnąć programowo za pomocą poniżej

requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
osleonard
źródło
1

To działało dla mnie. Spróbuj dodać ten kod w pliku AndroidManifest

<application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:screenOrientation="portrait"
        android:theme="@style/AppTheme">
        ....
        ....
        </application>
Arvina Kori
źródło
Byłbym świetnym rozwiązaniem, ponieważ nie musisz ustawiać poszczególnych działań. Niestety nie działa w mojej aplikacji.
Myroslav Kolodii
1

Umieść to w swoim manifeście.

<activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:screenOrientation="sensorPortrait" />

Orientacja będzie pionowa, ale jeśli telefon użytkownika jest odwrócony, pokazuje również prawidłową drogę. (Twój ekran będzie się obracał o 180 stopni).


System ignoruje ten atrybut, jeśli działanie działa w trybie wielu okien .

Marci
źródło
0

jeśli Twoja aktywność związana jest z pierwszym stanem orientacji urządzenia, uzyskaj bieżącą orientację urządzenia w onCreatemetodzie, a następnie napraw ją na zawsze:

        int deviceRotation = ((WindowManager) getBaseContext().getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay().getOrientation();

        if(deviceRotation == Surface.ROTATION_0) {
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        }
        else if(deviceRotation == Surface.ROTATION_180)
        {
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT);
        }
        else if(deviceRotation == Surface.ROTATION_90)
        {
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
        }
        else if(deviceRotation == Surface.ROTATION_270)
        {
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE);
        }
Hamid
źródło