Android人像和风景

时间:2018-11-09 07:35:49

标签: java android android-orientation

我将我的应用锁定为移动设备的纵向模式和电视的横向模式。问题是,我希望在整个应用程序中使用它。我的应用程序内部有多个活动,因此我必须检查每个活动的肖像和风景。有没有办法使我的代码在所有活动中都具有全局性?我不想在每次活动中都编写该代码。

这是我的代码:

我以前使用过这个

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

3 个答案:

答案 0 :(得分:0)

创建BaseActivity,将其添加到其中,您的活动将扩展BaseActivity。

答案 1 :(得分:0)

您可以为MainActivity以外的所有活动在清单文件中将screenOrientation设置为'behind'

这使所有活动都保持与后面活动相同的方向。因此,如果您已经锁定MainActivity的方向,那么所有从MainActivity开始的活动都将保持MainActivity的相同方向。

答案 2 :(得分:0)

在横向和纵向模式下,不同视图的位置看起来不同。如果您对已更改的职位没事,那就很好。否则,有时位置会发生很大变化,以致布局看起来不佳,这就是为什么您必须为纵向和横向模式手动排列视图的原因。