Какова высота строки состояния в Android? Всегда ли она одинакова?
По моим измерениям кажется, что это 25 dp, но я не уверен, есть ли у нее одинаковая высота на всех платформах.
(Я хочу знать это, чтобы правильно реализовать постепенный переход от активности, у которой нет строки состояния, к той, которая имеет)
на этот вопрос уже отвечали... Высота строки состояния?
Обновление::
ок, высота строки состояния зависит от размера экрана, например на устройстве с размером экрана 240 X 320 высота строки состояния составляет 20px, для устройства с размером экрана 320 X 480 высота строки состояния составляет 25px, для устройства с размером экрана 480 x 800 высота строки состояния должна быть 38px
поэтому я рекомендую использовать этот скрипт для получения высоты строки состояния
Rect rectangle = new Rect();
Window window = getWindow();
window.getDecorView().getWindowVisibleDisplayFrame(rectangle);
int statusBarHeight = rectangle.top;
int contentViewTop =
window.findViewById(Window.ID_ANDROID_CONTENT).getTop();
int titleBarHeight= contentViewTop - statusBarHeight;
Log.i("*** Elenasys :: ", "StatusBar Height= " + statusBarHeight + " , TitleBar Height = " + titleBarHeight);
onCreate()
вашей активности, используйте этот метод:public int getStatusBarHeight() {
int result = 0;
int resourceId = getResources().getIdentifier("status_bar_height", "dimen", "android");
if (resourceId > 0) {
result = getResources().getDimensionPixelSize(resourceId);
}
return result;
}
Попробуйте следующее:
Rect rect = new Rect();
Window win = this.getWindow();
win.getDecorView().getWindowVisibleDisplayFrame(rect);
int statusBarHeight = rect.top;
int contentViewTop = win.findViewById(Window.ID_ANDROID_CONTENT).getTop();
int titleBarHeight = contentViewTop - statusBarHeight;
Log.d("ID-ANDROID-CONTENT", "titleBarHeight = " + titleBarHeight );
у меня это не сработало в методе onCreate для действия, но сработало, когда я поместил его в onClickListener и дал мне измерение 25