屏幕旋转方向“SCREEN_ORIENTATION_REVERSE_PORTRAIT”是正确的吗?

8

我正在尝试添加一个锁定方向按钮,但当我调用

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT);

屏幕应该切换到普通竖屏模式了,我做错了什么吗?
public void onSensorChanged(SensorEvent event) {

    x = event.values[0];
    y = event.values[1];
    z = event.values[2];

    orientation.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            // TODO Auto-generated method stub
            if (x > 5){
                setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
            } else if (x < -5){
                setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE);
            } else if (y > 5){
                setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
            } else if (y < -5){
                setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT);
            }
        }
    });
}

1
虽然不完全符合您的要求,但它有一些有趣的代码片段。https://dev59.com/F2w15IYBdhLWcg3wcrhC - F43nd1r
1个回答

1

好的,我解决了,改变了一下。

android:targetSdkVersion="15"

转换为这个

android:targetSdkVersion="11"

在清单文件中,我并不认为这是问题所在,但现在它已经可以工作了。只是想发一篇文章,以防有人遇到类似的问题。


1
我在Android KitKat上遇到了同样的问题,但在Gingerbread上却运行得很好!! - M.Hefny
看起来SDK有一些bug。 - Rotary Heart
我也遇到了同样的问题,但是更改targetSdkVersion并没有解决它。我正在运行KitKat。 - Vas
检查一下你的设备是否有任何设置可以启用该方向。 - Rotary Heart

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接