Androidユニバーサルランドスケープチェック
-
29-09-2019 - |
質問
OK私はアプリを持っています。マグネーターメーターを使用して、電話で回転するグラフィックを表示します(基本的にはコンパス)。
ランドスケープモードの場合、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