我尝试以编程方式设置多个方向。例如,我想要屏幕方向可以是纵向,反向纵向和反向横向。
我尝试使用此代码,但似乎它不起作用。
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE);
修改
setRequestedOrientation方法适用于最新方向。我只是试图找到一种方法来设置两个方向。
答案 0 :(得分:3)
您应该根据配置更改设置请求的方向
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
} else if...
}
如果您想同时支持肖像和反面肖像,请使用SCREEN_ORIENTATION_SENSOR_PORTRAIT
(更多info)。
另一个有用的link。
<强>编辑:强>
我没有看到一个案例,在新的配置例如,例如,您需要请求横向和纵向风景,但您可以尝试使用setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT | ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);