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



此文是对 安卓监听屏幕的横竖翻转 的补充,描述对屏幕横屏时,翻转屏幕如何让屏幕自动切换。

先上效果图:

解决屏幕横屏时的2个方向翻转(非横竖屏切换)_第1张图片翻转屏幕后:解决屏幕横屏时的2个方向翻转(非横竖屏切换)_第2张图片



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


            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的两方向自动旋转。



你可能感兴趣的:(android)