我将我的应用锁定为移动设备的纵向模式和电视的横向模式。问题是,我希望在整个应用程序中使用它。我的应用程序内部有多个活动,因此我必须检查每个活动的肖像和风景。有没有办法使我的代码在所有活动中都具有全局性?我不想在每次活动中都编写该代码。
这是我的代码:
我以前使用过这个
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);
}
答案 0 :(得分:0)
创建BaseActivity,将其添加到其中,您的活动将扩展BaseActivity。
答案 1 :(得分:0)
您可以为MainActivity以外的所有活动在清单文件中将screenOrientation
设置为'behind'
。
这使所有活动都保持与后面活动相同的方向。因此,如果您已经锁定MainActivity的方向,那么所有从MainActivity开始的活动都将保持MainActivity的相同方向。
答案 2 :(得分:0)
在横向和纵向模式下,不同视图的位置看起来不同。如果您对已更改的职位没事,那就很好。否则,有时位置会发生很大变化,以致布局看起来不佳,这就是为什么您必须为纵向和横向模式手动排列视图的原因。