2011-05-08 42 views
8

如何使我的android应用程序成为横向或纵向,但没有相反的方向?Android - 只锁定方向到两个方向

这意味着我想启用SCREEN_ORIENTATION_PORTRAITSCREEN_ORIENTATION_LANDSCAPE,但禁用SCREEN_ORIENTATION_REVERSE_LANDSCAPESCREEN_ORIENTATION_REVERSE_PORTRAIT

感谢

+0

我有同样的问题,你有没有发现这方面的任何解决方案???? – Sam 2011-06-21 04:52:30

回答

0
+0

当方法Activity.onConfigurationChanged被调用时,我只获得'1'或'2',纵向或纵向相同的值。 我试着用Activity.setRequestedOrientation来改变方向为portrait或lanscape而不是反转,它工作。问题在于Activity.onConfigurationChanged从不再被调用。 – Yaniv 2011-07-06 07:14:23

+0

onConfigurationChanged是什么意思不再被调用?你的意思是直到程序完成执行? – Gallal 2011-07-06 07:18:56

+1

当我第一次导致方向发生时,它被调用,然后我多次尝试,它再也没有被调用过。我认为这是因为setRequestedOrientation()方法。 – Yaniv 2011-07-07 06:56:41

1

我在我的相机应用同样的问题/功能要求,并发现这个帖子:

android camera surfaceview orientation

在changeRotation只是评论ORIENTATION_PORTRAIT_INVERTEDORIENTATION_LANDSCAPE_INVERTED,并创建一个方法rotateViews(int degrees)旋转所有在常规风景/肖像之间切换时,您的布局的图像(按钮)。

此外,

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 

为我工作比

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR | ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 
+1

您不能将ActivityInfo.SCREEN_ORIENTATION_ *值合并(作为标志),因为它们表示0到14之间的简单数字(简单来说,它们不是标志)。 – Robyer 2017-08-31 06:31:51