Иногда в 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 добавят его.
Комментариев нет:
Отправить комментарий