解决屏幕横屏时的2个方向翻转(非横竖屏切换)

1、先在Menifest文件中进行声明:(默认是横屏)

<activity
            android:name="com.suma.smartview.view.PlayerActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:screenOrientation="landscape"

 />

2、在setContentView之前加上如下代码。ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE是在2.3.2上才加上去的,

所以 2.2 就没办法了。

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);// 无标题栏
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);// 去掉状态栏

        //2.3以上自动横屏,而且可以切换,2.2只能是横屏一个方向
        if (Build.VERSION.SDK_INT >= 9) {
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
        }
        setContentView(GetItemId.getLayoutResIDByName(this, "suma_layout_player"));
        initViews();
    }

3、当然,这个方法是兼容2.2以上版本,如果你根本就不考虑2.2版本,只需要在Menifest文件中声明 android:screenOrientation=”sensorLandscape”

就可以实现landscape的两方向自动旋转。

猜你喜欢

转载自www.cnblogs.com/porter/p/9134157.html