Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PhoneGap - Forcing Landscape orientation

I started looking into PhoneGap yesterday and created a simple "marble" rolling around while tilting the phone. I am currently developing on Android but I want the orientation to stay as landscaping instead of moving when the phone gets spun around. Is there a way of doing this?

Manifest:

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android"     package="com.phonegap.helloworld"     android:versionCode="1"     android:versionName="1.0" > <supports-screens     android:largeScreens="true"     android:normalScreens="true"     android:smallScreens="true"     android:resizeable="true"     android:anyDensity="true" /> <uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.RECEIVE_SMS" /> <uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> <uses-permission android:name="android.permission.READ_CONTACTS" /> <uses-permission android:name="android.permission.WRITE_CONTACTS" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />  <uses-permission android:name="android.permission.GET_ACCOUNTS" /> <uses-permission android:name="android.permission.BROADCAST_STICKY" /> <uses-sdk android:minSdkVersion="8" />     <application         android:icon="@drawable/ic_launcher"         android:label="@string/app_name" >         <activity             android:name=".App"              android:configChanges="orientation|keyboardHidden"             android:label="@string/app_name" >             <intent-filter>                 <action android:name="android.intent.action.MAIN" />                 <category android:name="android.intent.category.LAUNCHER" />             </intent-filter>         </activity>         <activity              android:name="com.phonegap.DroidGap"              android:label="@string/app_name"              android:screenOrientation="landscape"             android:configChanges="orientation|keyboardHidden">              <intent-filter></intent-filter>          </activity>      </application> </manifest> 

Code:

package com.phonegap.helloworld;  import android.os.Bundle; import org.apache.cordova.*;  public class App extends DroidGap {     /** Called when the activity is first created. */     @Override     public void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         super.loadUrl("file:///android_asset/www/index.html");     } } 
like image 666
Phil Jackson Avatar asked Mar 21 '12 08:03

Phil Jackson


1 Answers

Have you tried this?

android:screenOrientation="portrait" 

Inside the AndroidManifest.xml file, where you have declared your activity, just add the above line.

For example:

<activity             android:name=".Activity.SplashScreenActivity"             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> 
like image 148
mayur rahatekar Avatar answered Sep 24 '22 03:09

mayur rahatekar