PhoneGap – 强制横向导向

我昨天开始研究PhoneGap,并创build了一个简单的“大理石”在翻转手机的同时滚动。 我目前正在开发Android系统,但是我希望方向能够保持环境美化,而不是在手机旋转时移动。 有没有办法做到这一点?

performance:

<?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> 

码:

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

你尝试过吗?

 android:screenOrientation="portrait" 

AndroidManifest.xml文件中,您已经声明了您的活动,只需添加上面的行。

例如:

 <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> 

为所有设备执行此操作的正确方法是configurationconfig.xml

 <preference name="orientation" value="portrait" /> <preference name="orientation" value="landscape" /> 

https://build.phonegap.com/docs/config-xml

这非常简单,您需要在AndroidManifest .xml文件中添加android:screenOrientation="landscape"

 <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> 

请在您的活动中尝试。 在onCreate()和setContentView之前。

 // keeps the screen orientation in Landscape mode setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 

也许很重要,因为我不知道它:

如果您使用在线phonegap apk转换器水化启用您的应用程序,您将不得不完全重build您的应用程序,而不是只更新它。 这将有助于您也喜欢“方向”或“全屏”的喜好!