Wyłączyć tryb krajobrazowy w Androidzie?

Jak mogę wyłączyć tryb krajobrazowy dla niektórych widoków w mojej aplikacji na Androida?

Author: wanttobeprofessional, 2009-02-24

30 answers

Dodaj android:screenOrientation="portrait" do aktywności w AndroidManifest.xml. Na przykład:

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

EDIT: ponieważ stało się to bardzo popularną odpowiedzią, czuję się bardzo winny, ponieważ wymuszanie portretu rzadko jest właściwym rozwiązaniem problemów, do których często się stosuje.
Główne zastrzeżenia z wymuszonym portretem:

  • to nie zwalnia cię z konieczności myślenia o aktywności zdarzenia cyklu życia lub prawidłowe zapisywanie/przywracanie stanu. Jest mnóstwo rzeczy poza rotacją aplikacji, które mogą wyzwalać działalność destrukcja/rekreacja, w tym nieuniknione rzeczy, takie jak wielozadaniowość. Nie ma skrótów; naucz się używać wiązek i fragmentów retainInstance.
  • Należy pamiętać, że w przeciwieństwie do dość jednolitego doświadczenia iPhone ' a, istnieje wiele urządzeń, w których Portret nie jest wyraźnie popularną orientacją. Gdy użytkownicy są na urządzeniach z klawiaturami sprzętowymi lub podkładkami do gier a la Droid 1-4, Xperia Play lub Nvidia Shield, wymuszanie portretu może sprawić, że aplikacja będzie gigantyczna Tarcza). Jeśli Twoja aplikacja nie ma bardzo konkretnego przypadku użycia, który prowadziłby do wręcz negatywnego doświadczenia we wspieraniu innych orientacji, prawdopodobnie nie powinieneś wymuszać krajobrazu. Mówię o rzeczach takich jak: "jest to aplikacja do zdalnego sterowania na telefon z blasterem IR tylko po jednej stronie urządzenia" lub " jest to aplikacja kasowa dla jednego konkretnego modelu tabletu zawsze używanego w stałej stacji dokującej."

Więc większość aplikacji powinna po prostu pozwolić sensorom telefonu, oprogramowanie i konfiguracja fizyczna decydują o tym, w jaki sposób użytkownik chce wchodzić w interakcje z aplikacją. Jeśli jednak nie jesteś zadowolony z domyślnego zachowania orientacji sensor w przypadku użycia, możesz nadal myśleć o kilku przypadkach:

  • jeśli twoim głównym zmartwieniem jest przypadkowa zmiana orientacji w połowie aktywności, z którą Twoim zdaniem Czujniki i oprogramowanie urządzenia nie poradzą sobie dobrze (na przykład w grze opartej na pochyleniu), rozważ obsługę krajobrazu i portretu, ale używanie nosensor do orientacji. Wymusza to krajobraz na większości tabletów i portret na większości telefonów, ale nadal nie polecam tego dla większości "normalnych" aplikacji (niektórzy użytkownicy po prostu lubią wpisywać softkeyboard krajobrazowy na swoich telefonach, a wielu użytkowników tabletów czyta w pionie - i powinieneś im pozwolić).
  • Jeśli nadal trzeba wymusić portret z jakiegoś powodu, sensorPortrait może być lepszy niż portrait dla Androida 2.3+; pozwala to na Portret do góry nogami, co jest dość powszechne w tablecie użycie.
 1413
Author: Yoni Samlan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-29 00:48:35

Nie byłem świadomy przełącznika AndroidManifest.xml do przeczytania tego posta, więc w moich aplikacjach użyłem tego zamiast:

setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);     //  Fixed Portrait orientation
 97
Author: Rich,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-02-20 23:22:28

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

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

Jeśli chcesz zrobić używając kodu java spróbuj

setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 

Zanim wywołasz setContentView metodę swojej aktywności w onCreate().

Nadzieję, że ta pomoc i łatwo zrozumiałe dla wszystkich...

 32
Author: Deepak Swami,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-08 15:49:53

Wiele odpowiedzi tutaj sugerują, aby użyć "portrait" W AndroidManifest.plik xml. Może się to wydawać dobrym rozwiązaniem - ale jak wspomniano w dokumentacji, wyróżniasz urządzenia, które mogą mieć tylko krajobraz. Zmuszasz również niektóre urządzenia (które działają najlepiej w krajobrazie) do przechodzenia w portret, nie uzyskując właściwej orientacji.

Proponuję użyć "nosensor" zamiast tego. Spowoduje to, że urządzenie będzie używać domyślnej preferowanej orientacji, nie zablokuje żadnych kupuje/pobiera w Google Play, i upewni się, że czujnik nie zepsuje Twojej (NDK, w moim przypadku) gry.

 19
Author: Mike Weir,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-21 14:41:33

Jeśli chcesz ustawienia użytkownika,

To polecam setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

Możesz zmienić ustawienia z menu Ustawienia.

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

 9
Author: Stephen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-02-10 04:46:49

Po prostu dodaj taką linijkę w swoim manifeście

Android: screen orientation= "portret"

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

    <uses-sdk
        android:minSdkVersion="8" />

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

        <activity
            android:name="MainActivity"
            android:label="@string/app_name"
            android:screenOrientation="portrait" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

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

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

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

    </application>

</manifest>   
 8
Author: Sunil Chaudhary,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-11-07 08:23:31

Użyj tego w onCreate() działania

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
 6
Author: Karan Datwani,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-05-06 09:59:31

Po prostu dodaj ten atrybut do znacznika aktywności.

 android:screenOrientation="portrait"
 5
Author: Deepak Sharma,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-01 07:00:13

Powinieneś zmienić android:screenOrientation="sensorPortait" W AndroidManifest.xml

 5
Author: vuhung3990,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-03 06:04:00

Jeśli nie chcesz mieć kłopotów z dodaniem orientacji w każdym przejawowym wpisie aktywności, Utwórz klasę BaseActivity (dziedziczy 'Activity 'lub ' AppCompatActivity'), która będzie dziedziczona przez każdą aktywność Twojej aplikacji zamiast 'Activity' lub 'AppCompatActivity'i po prostu dodaj 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......
}
 5
Author: alchemist,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-22 17:51:53

Dodaj następujący fragment w pliku manifestu.

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

To obsługuje tylko tryb portretowy

 4
Author: XYZ_deve,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-16 10:11:41

Dodaj android:screenOrientation="portrait" do aktywności, którą chcesz wyłączyć w trybie poziomym.

 4
Author: Zhenxiao Hao,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-26 09:30:04

Jeśli chcesz wyłączyć Landscape mode for your android app ( lub pojedyncze działanie) wystarczy dodać,

android:screenOrientation="portrait" do tagu activity w AndroidManifest.xml plik.

Jak:

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

Innym Sposobem, Podejście Programowe.

Jeśli chcesz zrobić ten program tj. korzystanie z kodu Java. Możesz to zrobić, dodając poniższy kod w klasie Java aktywności, której nie chcesz wyświetlać w trybie poziomym.

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
Mam nadzieję, że ci to pomoże .Na więcej szczegółów znajdziesz tutaj wpisz opis linku tutaj
 4
Author: IntelliJ Amiya,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-16 05:25:50

Użyj

android:configChanges="keyboardHidden|orientation"
android:screenOrientation="portrait" 
 3
Author: Swayam,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-05-14 16:42:12

Musisz ustawić orientację każdej czynności.

<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>
 3
Author: Akshay Paliwal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-02-04 07:23:24

Dodaj klasę wewnątrz metody oncreate ()

 setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
 3
Author: Kumar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-02 04:54:42

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

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

Powyżej klasa działa dobrze, podobnie jak inne rozwiązania, również nie ma zastosowania globalnie i musi być umieszczona w każdym nagłówku activity.

 3
Author: Derek Kelly,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-03-20 15:10:20

Jak zmienić orientację w niektórych widokach

Zamiast blokowania orientacji całej aktywności możesz użyć tej klasy do dynamicznego blokowania orientacji z dowolnego punktu widzenia: -

Make your view Krajobraz

OrientationUtils.lockOrientationLandscape(mActivity);

Make your view Portret

OrientationUtils.lockOrientationPortrait(mActivity);

Unlock Orientacja

OrientationUtils.unlockOrientation(mActivity);

Klasa Util

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);
    }

}
 3
Author: Hitesh Sahu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-04-28 06:24:30

Możesz wymusić, aby Twoja aktywność zawsze pozostawała w trybie portretowym, pisząc to w manifeście.xml

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

Możesz również wymusić, aby Twoja aktywność pozostała 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);

}
 3
Author: Mansuu....,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-16 06:25:01

Po prostu dodaj android: screen orientation= " portret" do znacznika aktywności w manifeście aplikacji.

Eg:

    <activity android:name=".ui.activities.MainActivity"
       android:screenOrientation="portrait"></activity>
 3
Author: Ahamed Mujeeb,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-28 09:26:28

Powinieneś umieścić ten kod w pliku manifestów.......

    <activity android:name=".SunderFlowersActivity"
        android:label="@string/app_name"
        android:screenOrientation="portrait">
        >
    </activity>
 3
Author: Tabish khan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-12 06:49:56
<android . . . >
    . . .
    <manifest . . . >
        . . .
        <application>
            <activity android:name=".MyActivity" 
                android:screenOrientation="portrait" 
                android:configChanges="keyboardHidden|orientation">
            </activity>
        </application>
    </manifest>
</android>
 2
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-09-04 06:30:56

W katalogu <apphome>/platform/android utworzony AndroidManifest.xml (Kopiowanie go z wygenerowanego). Następnie dodaj android:screenOrientation="portrait" do wszystkich elementów aktywności.

 1
Author: user811985,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-10-07 12:01:00

Dodaj android: screen orientation= "portrait" w AndroidManifest.plik xml .example <activity android:name=".MapScreen" android:screenOrientation="portrait"></activity>

 1
Author: Pradeep Sodhi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-02-01 07:42:51

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

Sztuczka polega na tym, aby najpierw upewnić się, że dodajesz podklasę aplikacji do swojego projektu. W OnCreate(), wywołanym po pierwszym uruchomieniu aplikacji, rejestrujesz obiekt ActivityLifecycleCallbacks (poziom API 14+), aby otrzymywać powiadomienia o zdarzeniach cyklu życia aktywności.

Daje to możliwość wykonania własnego kodu za każdym razem, gdy jakaś aktywność w aplikacji jest uruchomiony (lub zatrzymany, lub wznowione, lub cokolwiek). W tym momencie możesz wywołać metodę setRequestedOrientation() na nowo utworzonej aktywności.

I nie zapomnij dodać app: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);

        }

        ....

    });

}

}

 1
Author: Brinda Rathod,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-05 09:28:42

W nadziei, aby pomóc komuś innemu, następujący atrybut aktywności w AndroidManifest.xml to wszystko czego potrzebujesz:

Android: configChanges= "orientacja"

Więc, węzeł pełnej aktywności:

<activity android:name="Activity1" 
    android:icon="@drawable/icon" 
    android:label="App Name" 
    android:configChanges="orientation">
 0
Author: Ben,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-07-17 22:53:22

Jeśli Twoja aktywność związana jest z pierwszym stanem orientacji urządzenia, uzyskaj bieżącą orientację urządzenia w metodzie onCreate, 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);
        }
 0
Author: Hamid,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-22 15:14:09

W kotlinie to samo można programowo osiągnąć za pomocą poniższego

requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
 0
Author: osleonard,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-11 15:07:31
 <?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 android: screen orientation.

Jeśli mamy więcej niż jedną aktywność w moim programie, to masz swobodę, aby ograniczyć dowolną aktywność w dowolnym trybie i nigdy nie wpływa na inne, których nie chcesz.

 0
Author: Amit Kumar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-26 12:03:07

U mnie zadziałało, spróbuj dodać ten kod do 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>
 0
Author: Arvina Kori,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-06 09:53:20