我把我的应用程序锁定在移动设备的肖像画模式上,把风景锁在电视上。问题是,我想把它放在整个应用程序上。我有多个活动在我的应用程序,所以我必须检查每一个活动的肖像和景观。有办法使我的代码对所有活动都是全局的吗?我不想在每一个活动中都写这段代码。
这是我的代码:
我以前用过这个:
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);
}发布于 2018-11-09 07:44:43
您可以在报表文件中将screenOrientation设置为'behind',用于除MainActivity之外的所有活动。
这使得所有的活动都保持了与幕后活动相同的方向。因此,如果您已经锁定了MainActivity的方向,那么从MainActivity开始的所有活动都将保持MainActivity的相同方向。
发布于 2018-11-09 07:39:55
创建BaseActivity,将此函数添加到其中,您的活动将扩展BaseActivity。
发布于 2019-02-03 06:02:04
不同视点在景观模式和肖像模式上的位置不同。如果你对改变的位置没意见,那就没事了。否则,有时位置发生了巨大的变化,版面看起来不太好,这就是为什么你必须手动安排肖像和景观模式的视图。
https://stackoverflow.com/questions/53221517
复制相似问题