Android系统不像iOS有shouldAutorotateToInterfaceOrientation:以及项目info.plist中的支持屏幕朝向属性设置那么直白的屏幕朝向支持,而且2.2以下和2.3以上还有对自动旋屏功能支持的差异:
在2.2一下,manifest中可以通过android:screenOrientation=”landscape”属性设置朝向,竖屏是portrait,但这显然没有像iOS那样指明是landscape right还是landscape left,而且测试发现实际效果也只是锁定在了landscape的一个朝向,并不支持根据重力感应的两方向自动旋转。
在2.3及以上的target下,可以通过设置android:screenOrientation=”sensorLandscape”实现landscape的两方向自动旋转,为了同时兼容两种情况,可以采用以下的方法:
public static final int ANDROID_BUILD_GINGERBREAD = 9;
public static final int SCREEN_ORIENTATION_SENSOR_LANDSCAPE = 6;
@Override
public void onCreate(Bundle savedInstanceState)
{
�0�2 �0�2 super.onCreate(savedInstanceState);
�0�2 �0�2 if (Build.VERSION.SDK_INT >= ANDROID_BUILD_GINGERBREAD)
{
�0�2 �0�2 �0�2 �0�2 setRequesteddOrientation(SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
�0�2 �0�2 }
}