有一个需求,能够设置屏幕方向(例如:水平方向时,设置应用垂直显示。)
用的参数是SCREEN_ORIENTATION_PORTRAIT,SCREEN_ORIENTATION_LANDSCAPE,如果我想水平,就设置SCREEN_ORIENTATION_LANDSCAPE,如果想支持感应能自动旋转,就再加入一个参数设置SCREEN_ORIENTATION_SENSOR,设备在桌面水平放置无重力感应时,运行良好。但如果设备手持,重力感应有,这个时候的设置屏幕方向无效,调试时发现,是设置的第二个参数SCREEN_ORIENTATION_SENSOR引起的,在手持有重力感应时,由于SCREEN_ORIENTATION_SENSOR被设置,屏幕在按第一个参数旋转后,又自动因为感应支持,而还原了。
但是如果不设置参数SCREEN_ORIENTATION_SENSOR,这个问题不存在,不管是设备水平放于桌面,还是手持时有重力感应,都不会重置,但是我以后旋转屏幕就无效了。
初次接触android,对这方面了解不多,查过相关的文档,好像控制屏幕方向的几个参数中,只要是设置屏幕为某一具体方向的,在设置后,屏幕都是不可旋转的。我自己的处理方式,是在后面再设置一次参数SCREEN_ORIENTATION_SENSOR,不知道大家碰到这种问题,是如何解决的。
或者说,有没有某一个参数,是设置屏幕方向的,不会被重力感应所骚扰,以后再旋转时,能支持屏幕旋转
我的大概应用,其实是封装下android的相关应用为SDK,然后给C++调用。应该与android的开发差不多。
感应这个有数值嘛。你把默认的取消了,设置一个界面的时候,在数值的比例达到一定的时候再旋转。。
最后这种情况不进行处理,即无法感应时,就不处理了