Android 纵向和横向
Android Portrait and landscape
我将我的应用程序锁定为移动设备的纵向模式和电视的横向模式。问题是,我想在整个应用程序上使用它。我的应用程序中有多个活动,所以我必须检查每个 activity 的纵向和横向。有没有办法让我的代码在所有活动中都是全局的?我不想在每个 activity.
中编写该代码
这是我的代码:
我以前用过这个:
setContentView(R.layout.activity_main);
MainActivity.java
// locking out landscape screen orientation for mobiles
if(getResources().getBoolean(R.bool.portrait_only)){
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
// locking out portrait screen orientation for TV
if(getResources().getBoolean(R.bool.landscape_only)){
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
创建BaseActivity,将此函数添加到其中,您的活动将扩展BaseActivity。
对于 MainActivity 以外的所有活动,您可以在清单文件中将 screenOrientation
设置为 'behind'
。
这使得所有的活动都与后面的方向保持一致activity。因此,如果您已经锁定了 MainActivity 的方向,那么从 MainActivity 启动的所有 Activity 将保持与 MainActivity 相同的方向。
横向和纵向模式下不同视图的位置显示不同。如果你对改变的位置没问题,那就没关系。否则,有时位置会发生巨大变化,以至于布局看起来不太好,这就是为什么您必须为纵向和横向模式手动安排视图。
我将我的应用程序锁定为移动设备的纵向模式和电视的横向模式。问题是,我想在整个应用程序上使用它。我的应用程序中有多个活动,所以我必须检查每个 activity 的纵向和横向。有没有办法让我的代码在所有活动中都是全局的?我不想在每个 activity.
中编写该代码这是我的代码:
我以前用过这个:
setContentView(R.layout.activity_main);
MainActivity.java
// locking out landscape screen orientation for mobiles
if(getResources().getBoolean(R.bool.portrait_only)){
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
// locking out portrait screen orientation for TV
if(getResources().getBoolean(R.bool.landscape_only)){
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
创建BaseActivity,将此函数添加到其中,您的活动将扩展BaseActivity。
对于 MainActivity 以外的所有活动,您可以在清单文件中将 screenOrientation
设置为 'behind'
。
这使得所有的活动都与后面的方向保持一致activity。因此,如果您已经锁定了 MainActivity 的方向,那么从 MainActivity 启动的所有 Activity 将保持与 MainActivity 相同的方向。
横向和纵向模式下不同视图的位置显示不同。如果你对改变的位置没问题,那就没关系。否则,有时位置会发生巨大变化,以至于布局看起来不太好,这就是为什么您必须为纵向和横向模式手动安排视图。