J'ai commencé à regarder PhoneGap hier et j'ai créé un simple "marbre" qui roulait tout en inclinant le téléphone. Je développe actuellement sur Android mais je veux que l'orientation reste en tant qu'aménagement paysager au lieu de bouger lorsque le téléphone tourne. Y a-t-il un moyen de le faire?
Manifeste:
<?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");
}
}
Avez-vous essayé cela?
Android:screenOrientation="portrait"
À l'intérieur de AndroidManifest.xml
fichier, où vous avez déclaré votre activité, ajoutez simplement la ligne ci-dessus.
Par exemple:
<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>
La bonne façon de le faire pour tous les appareils est de configurer config.xml
<preference name="orientation" value="portrait" />
<preference name="orientation" value="landscape" />
C'est très simple, vous devez ajouter Android:screenOrientation="landscape"
dans votre fichier AndroidManifest
. xml.
<application Android:icon="@drawable/icon" Android:label="@string/app_name">
<activity Android:name=".LogUploaderActivity" Android:label="Log Uploader" Android:screenOrientation="landscape" >
<intent-filter>
<action Android:name="Android.intent.action.MAIN" />
<category Android:name="Android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Veuillez essayer ceci dans votre activité. À l'intérieur de onCreate()
et avant setContentView.
// keeps the screen orientation in Landscape mode
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
Peut-être important de le mentionner car je ne le savais pas:
Si vous utilisez le convertisseur apk de Phonegap en ligne avec hydratation activée pour votre application, vous devrez reconstruire votre application complètement au lieu de simplement la mettre à jour. Cela vous aidera également avec des préférences comme "orientation" ou "plein écran"!