Как узнать высоту статус бара

Как узнать высоту статус бара

Иногда в Android приложении необходимо узнать высоту статус бара. Если вы имеете дело с позиционирование элементов на экране, то высота статус бара будет иметь для вас значение. Высота статус бара зависит от разрешения и плотности экрана. Например, для устройства с разрешением 240х320 размер статус бара 20px, для устройства с разрешением 320х480 размер статус бара 25px, а для устройства с разрешением 480х800 размер статус бара должна быть 38px. Ниже мы рассмотрим каким способ можно узнать высоту статус бара.

Ниже представлен метод с помощью которого можно узнать величину статус бара находясь в Activity или Fragment.

public int getStatusBarHeight() {
    int resourceId = getResources().getIdentifier("status_bar_height", "dimen", "android");
    if (resourceId > 0) {
        return getResources().getDimensionPixelSize(resourceId);
    }
    return 0;
}

Если нужно узнать высоту статус бара вне классов Activity или Fragment, то можно передать в него Context.

public int getStatusBarHeight(Context context) {
    int resourceId = context.getResources().getIdentifier("status_bar_height", "dimen", "android");
    if (resourceId > 0) {
        return getResources().getDimensionPixelSize(resourceId);
    }
    return 0;
}

Как вы видите метод очень небольшой и простой. К сожалению в Android нет стандартного пути узнать высоту статус бара. Будем надеяться что инженеры Android добавят его.

Комментариев нет:

Отправить комментарий