Android以编程方式设置多个方向

迈特汉·托索伊(Metehan Toksoy)

我尝试以编程方式设置多个方向。例如,我想要的屏幕方向可以是“纵向”,“反向纵向”和“反向横向”。

我尝试使用此代码,但似乎没有用。

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE);

编辑

setRequestedOrientation方法适用于最新方向。我只是试图找到一种方法来设定两个方向。

水槽

您应该根据配置更改设置要求的方向

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(更多信息)。另一个有用的链接

编辑:

我看不到在新配置(例如风景)下需要同时请求风景和肖像的情况,但是您可以尝试使用 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT | ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章