Android - 只锁定方向到两个方向
如何使我的android应用程序成为横向或纵向,但没有相反的方向?Android - 只锁定方向到两个方向
这意味着我想启用SCREEN_ORIENTATION_PORTRAIT
和SCREEN_ORIENTATION_LANDSCAPE
,但禁用SCREEN_ORIENTATION_REVERSE_LANDSCAPE
和SCREEN_ORIENTATION_REVERSE_PORTRAIT
。
感谢
请务必告知您要在您的清单文件中添加“定位”在活动代码
android:configChanges
标志属性来处理方向变化的系统。覆盖
Activity.onConfigurationChanged()
并检查Configuration.orientation
字段中传递的参数Configuration
并使用适当Activity.setRequestedOrientation
要么ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
或ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE
设置活动的取向。
当方法Activity.onConfigurationChanged被调用时,我只获得'1'或'2',纵向或纵向相同的值。 我试着用Activity.setRequestedOrientation来改变方向为portrait或lanscape而不是反转,它工作。问题在于Activity.onConfigurationChanged从不再被调用。 – Yaniv 2011-07-06 07:14:23
onConfigurationChanged是什么意思不再被调用?你的意思是直到程序完成执行? – Gallal 2011-07-06 07:18:56
当我第一次导致方向发生时,它被调用,然后我多次尝试,它再也没有被调用过。我认为这是因为setRequestedOrientation()方法。 – Yaniv 2011-07-07 06:56:41
我在我的相机应用同样的问题/功能要求,并发现这个帖子:
android camera surfaceview orientation
在changeRotation只是评论ORIENTATION_PORTRAIT_INVERTED
和ORIENTATION_LANDSCAPE_INVERTED
,并创建一个方法rotateViews(int degrees)
旋转所有在常规风景/肖像之间切换时,您的布局的图像(按钮)。
此外,
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
为我工作比
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR | ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
您不能将ActivityInfo.SCREEN_ORIENTATION_ *值合并(作为标志),因为它们表示0到14之间的简单数字(简单来说,它们不是标志)。 – Robyer 2017-08-31 06:31:51
我有同样的问题,你有没有发现这方面的任何解决方案???? – Sam 2011-06-21 04:52:30