Высота строки состояния в Android

Какова высота строки состояния в Android? Всегда ли она одинакова?

По моим измерениям кажется, что это 25 dp, но я не уверен, есть ли у нее одинаковая высота на всех платформах.

(Я хочу знать это, чтобы правильно реализовать постепенный переход от активности, у которой нет строки состояния, к той, которая имеет)

314
задан hpique 6 August 2010 в 01:08
поделиться

2 ответа

на этот вопрос уже отвечали... Высота строки состояния?

Обновление::

Текущий метод::

ок, высота строки состояния зависит от размера экрана, например на устройстве с размером экрана 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;
} 
352
ответ дан 23 November 2019 в 01:06
поделиться

Попробуйте следующее:

    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

7
ответ дан 23 November 2019 в 01:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: