2010-11-28 4 views
1

OK У меня есть приложение, которое использует магнеометр для отображения графика, который вращается с телефоном (в основном компасом).android universal landscape check

У меня есть чек, который вычитает 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)); 

Любые предложения о том, как определить, в каком режиме ландшафта находится телефон?

ответ

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; 
     } 
+0

какие ценности ORIENTATION_0, ORIENTATION_90, ORIENTATION_180 и ORIENTATION_270? – CornCat 2010-11-28 22:26:56