0

似乎至少在设备上的 android 中存在方向更改问题。当我导航到设置 - 应用程序 - 正在运行并选择 - 显示缓存的进程然后翻转它更改回的方向 - 显示正在运行的进程。我在我的应用程序中有一个用例,在其中我采用设备方向来显示一些选项,但这似乎并没有得到尊重。对此有任何建议,这可能是因为我提到的示例流程吗?我用它来获得方向:

getResources().getConfiguration().orientation

这用于旋转:

Display display = ((WindowManager) context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
int rotation = display.getRotation();
4

1 回答 1

1

您使用的是正确的,我使用两个的组合

int orientation = getResources().getConfiguration().orientation;
int rotation = getWindowManager().getDefaultDisplay().getOrientation();

现在使用它们来确定正确的方向

    if (rotation == Surface.ROTATION_0 || rotation == Surface.ROTATION_90) {
            if (orientation == Configuration.ORIENTATION_PORTRAIT) {
                // Portrait 
            }
            else if (orientation == Configuration.ORIENTATION_LANDSCAPE) {
                // Landscape
            }
        }
        else if (rotation == Surface.ROTATION_180 || rotation == Surface.ROTATION_270) {
            if (orientation == Configuration.ORIENTATION_PORTRAIT) {
                //Mainly for tablets
            }
            else if (orientation == Configuration.ORIENTATION_LANDSCAPE) {
               //Mainly for tablets
            }
        }
于 2013-03-19T06:01:33.653 回答