我想让我的应用程序只在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);
检查此链接了解更多信息
您可以按照要求使用以下代码:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
和setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
你必须把这些代码放在setContentView(R.layout.layout_name.xml)
之前。
尝试添加:
android:configChanges="orientation|keyboardHidden"
让我知道,如果有帮助! 只是一个猜测!
这看起来像一个旧的post,但它看起来像我,如果你设置清单文件中的横向模式,然后在Java代码中切换到横向模式,您可能会切换模式两次导致设备呈现在肖像模式。 尝试评论你的Java文件中的代码,看看会发生什么。 如果它不起作用,所有你需要做的就是改回它。 易于peasytesting。