Могу ли я обнаружить оба ландшафта в Android?

Возможный дубликат:
Как отличить альбомный левый (нормальный) от горизонтального правого (обратный) с поддержкой устройств с естественным ландшафтом?

Можно ли определить один ландшафт по сравнению с другим ландшафтом при вращении устройства?

@Override
public void onConfigurationChanged(Configuration newConfig)
{
    super.onConfigurationChanged(newConfig);

    if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE)
    {
        Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show();
    }
    else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT)
    {
        Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show();
    }
}

работает, но я хотел бы посмотреть, смогу ли я определить, на какой стороне телефона он находится, поскольку я хочу отобразить другой макет.


person Ronnie    schedule 16.05.2011    source источник


Ответы (1)


Вы можете, для устройств под управлением Android 2.2+. Прочтите эту запись в блоге, чтобы подробности или вы можете перейти к изюминке.

person Haphazard    schedule 16.05.2011
comment
отлично, я создаю для 2.2+, что идет перед getRotation() ? Я пробовал this.getRotation();, но говорит, что этот метод недоступен для моего класса - person Ronnie; 16.05.2011
comment
Display display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay(); ориентация int = display.getRotation(); - person Haphazard; 16.05.2011
comment
отлично, это работает отлично, большое спасибо! - person Ronnie; 16.05.2011