我想让我的应用程序只在Android横向

我想使我的应用程序只在横向模式下工作,但不能使其工作。 我给了screenOrientation = "landscape"即使第一页将处于横向模式,其他活动将是纵向。

XML文件

 <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".Main" android:label="@string/app_name" android:screenOrientation="landscape" android:theme="@android:style/Theme.NoTitleBar.Fullscreen"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".IntroHome" android:label="@string/app_name" android:screenOrientation="landscape"> </activity> <activity android:name=".ObjectivesPage" android:label="@string/app_name" android:screenOrientation="landscape" > </activity> <activity android:name=".MenuPage" android:label="@string/app_name" android:screenOrientation="landscape" > </activity> </application> 

JAVA类

 public class ObjectivesPage extends Activity{ ImageButton imgButton; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.objectivespage); setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); imgButton = (ImageButton)findViewById(R.id.buttonCloseNGo); imgButton.setOnClickListener(onClickCloseNGo); } private OnClickListener onClickCloseNGo = new OnClickListener(){ public void onClick(View v) { Intent intent = new Intent(ObjectivesPage.this,MenuPage.class); startActivity(intent); } }; } 

保持清单的这一部分,因为它已经是。 例如,考虑IntroHome活动。

 <activity android:name=".IntroHome" android:label="@string/app_name" android:screenOrientation="landscape" > </activity> 

对于活动XML,请确保layout-land文件夹中具有IntroHome活动布局XML。 这样,您所拥有的活动/活动将仅显示您已定义的XML格局版本。

您也可以尝试从代码中设置方向

 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 

检查此链接了解更多信息

http://www.devx.com/wireless/Article/40792/0/page/5

您可以按照要求使用以下代码:

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

你必须把这些代码放在setContentView(R.layout.layout_name.xml)之前。

尝试添加:

 android:configChanges="orientation|keyboardHidden" 

让我知道,如果有帮助! 只是一个猜测!

这看起来像一个旧的post,但它看起来像我,如果你设置清单文件中的横向模式,然后在Java代码中切换到横向模式,您可能会切换模式两次导致设备呈现在肖像模式。 尝试评论你的Java文件中的代码,看看会发生什么。 如果它不起作用,所有你需要做的就是改回它。 易于peasytesting。