题
好的,我有一个应用程序使用磁器显示与手机旋转的图形(基本上是指南针)。
我有一项检查,如果它处于景观模式,则会减去90度,但这仅在默认景观模式下才起作用。有了2.1,我们现在有了一个通用的景观,您可以旋转两种方式,因此我现在不知道如何弄清楚它所处的景观模式。
这是我的代码:
int test = getResources().getConfiguration().orientation;
if(Configuration.ORIENTATION_LANDSCAPE == test) {
rotation = -90f;
}
else {
rotation = 0f;
}
canvas.rotate((float) (-Math.toDegrees(mOrientation[0]) + rotation ));
关于如何判断手机进入哪种景观模式的任何建议?
解决方案
private static final int ORIENTATION_90 = 1;
private static final int ORIENTATION_0 = 0;
private static final int ORIENTATION_180 = 2;
private static final int ORIENTATION_270 = 3;
switch (orientation)
{
default:
case ORIENTATION_0: // Portrait
//dostuff
break;
case ORIENTATION_90: // Landscape left
//do stuff
break;
case ORIENTATION_180: // Upside down.
//do stuff
break;
case ORIENTATION_270: // Landscape right
//do stuff
break;
}
不隶属于 StackOverflow