How to fix layout orientation to vertical?

How to fix layout orientation to portrait and do not allow changing from portrait to landscape during run time?

88694 次浏览

In your AndroidMainfest.xml file find the tags of the activities you wish to lock to a given rotation, and add this attribute:

android:screenOrientation="portrait"

in your activity parameters in Manifest File

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.statepermit" android:versionCode="1" android:versionName="1.0">
<application android:icon="@drawable/stateheader" android:label="@string/app_name">
<activity android:name=".statepermit" android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar" android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>


</application>
<uses-sdk android:minSdkVersion="7" />


</manifest>

android:screenOrientation="portrait"

If you want to freeze orientation at runtime, then you you can implement this:

Android: Temporarily disable orientation changes in an Activity

I use a similar approach and it works perfectly.

Use setRequestedOrientation() as shown:

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);


setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

before

setContentView(R.layout.main);

If you want to fix the orientation of one Activity in your project, you have to open the Manifest.xml and put in the section of parameters of the desired Activity (before the closure of the first tag < activity…> ):

android:screenOrientation="portrait" if you want VERTICAL fixed orientation

android:screenOrientation="landscape" if you want HORIZONTAL fixed orientation

In your AndroidMainfest.xml just write this in your activity you declare,

If you want in layout vertical than use

android:screenOrientation="portrait"

If you want in layout landscape than use

android:screenOrientation="landscape"