How to Lock Android App's Orientation to Portrait in Phones and Landscape in Tablets?
android, user-interface
Solution
You just have to define the property below inside the activity element in your `AndroidManifest.xml` file. It will restrict your orientation to portrait.
android:screenOrientation="portrait"
Example:
<activity
android:name="com.example.demo_spinner.MainActivity"
android:label="@string/app_name"
android:screenOrientation="portrait" >
</activity>
if you want this to apply to the whole app define the property below inside the application tag like so:
<application>
android:screenOrientation="sensorPortrait"
</application>
Additionaly, as per Eduard Luca's comment below, you can also use `screenOrientation="sensorPortrait"` if you want to enable rotation by 180 degrees.
Problem
I am developing an Android app whose orientation I don't want changed to landscape mode when the user rotates the device. Also, I want the locked orientation to be portrait mode on phones and landscape mode on tablets. Can this be achieved, if yes how? Thanks.