在临时锁定方向上颠倒界面

时间:2011-04-08 12:37:21

标签: android

我遇到Android 2.2和屏幕问题 取向。我的界面上有复选框,选中时, 方向必须锁定在当前方向,所以我做了 以下代码:

Activity a = (Activity) getContext();

if (isChecked) {
    if (getResources().getConfiguration().orientation == configuration.ORIENTATION_LANDSCAPE)
        a.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
    else if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT)
        a.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
} else {
    a.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
}

问题在于,如果我颠倒了设备,我的 屏幕将旋转到那个,当我点击我的“锁定方向”时, getResources()。getConfiguration()。orientation将返回 SCREEN_ORIENTATION_PORTRAIT和我的代码将锁定方向 SCREEN_ORIENTATION_PORTRAIT和界面将颠倒。

我可以在Gingerbread上看到它(http://developer.android.com/reference/ android / R.attr.html#screenOrientation),有一个reversePortait和 reverseLandscape来解决这个问题,但我真的需要这个代码来运行 2.2,那么反正将屏幕设置为颠倒?或者在那里 锁定旋转的任何其他方式?

1 个答案:

答案 0 :(得分:0)

使用ScreenRotation。 不推荐使用ScreenOrientation,并且不了解纵向纵向方向。