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