Height of status bar in Android [duplicate] Height of status bar in Android [duplicate] android android

Height of status bar in Android [duplicate]


this question was answered before...Height of statusbar?

Update::

Current method:

ok, the height of the status bar depends on the screen size, for example in a device with 240 X 320 screen size the status bar height is 20px, for a device with 320 X 480 screen size the status bar height is 25px, for a device with 480 x 800 the status bar height must be 38px

so i recommend to use this script to get the status bar height

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); 

(old Method) to get the Height of the status bar on the onCreate() method of your Activity, use this method:

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


Out of all the code samples I've used to get the height of the status bar, the only one that actually appears to work in the onCreate method of an Activity is this:

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

Apparently the actual height of the status bar is kept as an Android resource. The above code can be added to a ContextWrapper class (e.g. an Activity).

Found at http://mrtn.me/blog/2012/03/17/get-the-height-of-the-status-bar-in-android/


Hardcoding the size or using reflection to get the value of status_bar_height is considered bad practice. Chris Banes talked about this in at the Droidcon New York. The recommended way of getting the status bar size is via the OnApplyWindowInsetsListener:

myView.setOnApplyWindowInsetsListener { view, insets -> {  val statusBarSize = insets.systemWindowInsetTop  return insets}

This was added in API 20 and is also backported via ViewAppCompat.