Получить данные об ориентации девайса

Рейтинг: 1Ответов: 1Опубликовано: 20.03.2015

Как получить данные об ориентации телефона, не меняя при этом ориентацию Лейаута? Методы типа getOrientation() и getRotation() почему-то не работают... Наверное, с сенсоров нужно снимать положение?

Edit Положение постоянно portrait, по дефолту выставлено, так и должно быть.

Ответы

▲ 1
private String getScreenOrientation(){    
    if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT)
        return "Портретная ориентация";
    else if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE)
        return "Альбомная ориентация";
    else
        return "";
}

Можно по ширине и высоте определить

String private mOrientation = "";

private boolean isLandscapeMode(Activity activity)
{
    int width =
    activity.getWindowManager().getDefaultDisplay().getWidth();
    int height =
            activity.getWindowManager().getDefaultDisplay().getHeight();

    boolean isLandscape = width > height;

    if(isLandscape)
        mOrientation = "Альбомная";
    else
        mOrientation = "Портретная";

    return isLandscape;
}