1

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 ));

電話がどのランドスケープモードにあるかを判断する方法について何か提案はありますか?

4

2 に答える 2

1

これを参照してください: http://android-developers.blogspot.com/2010/09/one-screen-turn-deserves-another.html

于 2010-11-28T23:10:46.170 に答える
0
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;
      }
于 2010-11-28T22:00:04.470 に答える