티스토리 뷰

반응형

Stack Overflow에 자주 검색, 등록되는 문제들과 제가 개발 중 찾아 본 문제들 중에서 나중에도 찾아 볼 것 같은 문제들을 정리하고 있습니다.

Stack Overflow에서 가장 먼저 확인하게 되는 가장 높은 점수를 받은 Solution과 현 시점에 도움이 될 수 있는 가장 최근에 업데이트(최소 점수 확보)된 Solution을 각각 정리하였습니다.

 

아래 word cloud를 통해 이번 포스팅의 주요 키워드를 미리 확인하세요.

Height of status bar in Android

Android의 상태 표시줄 높이

 문제 내용 

What's the height of the status bar in Android? Is it always the same?

안드로이드에서 상태 표시줄의 높이는 얼마입니까? 항상 똑같나요?

 

From my measurements it seems that it's 25dp, but I'm not sure if it has the same height on all platforms.

제가 측정한 결과 25dp로 보이는데, 모든 플랫폼에서 동일한 높이인지는 잘 모르겠습니다.

 

(I want to know this to properly implement a fade transition from an activity that doesn't have status bar to one that does)

(상태 표시줄이 없는 액티비티에서 그렇지 않은 액티비티로 페이드 전환을 제대로 구현하기 위해 이 정보를 알고 싶습니다.)

 

 

 

 높은 점수를 받은 Solution 

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

좋아요, 상태 표시줄의 높이는 예를 들어 장치의 화면 크기에 따라 달라집니다 240 X 320 화면 크기의 경우 상태 표시줄 높이가 20px이고, 320 X 480 화면 크기의 경우 상태 표시줄 높이가 25px이며, 480 X 800의 경우 상태 표시줄 높이가 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:

(이전 방법) 액티비티의 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;
} 

 

 

 가장 최근 달린 Solution 

Kotlin version that combines two best solutions

두 가지 최고의 솔루션을 결합한 코틀린 버전
fun getStatusBarHeight(): Int {
    val resourceId = resources.getIdentifier("status_bar_height", "dimen", "android")
    return if (resourceId > 0) resources.getDimensionPixelSize(resourceId)
    else Rect().apply { window.decorView.getWindowVisibleDisplayFrame(this) }.top
}

 

  1. Takes status_bar_height value if present
  2. If status_bar_height is not present, calculates the status bar height from Window decor
1. status_bar_height 값을 사용합니다(있는 경우).
2. status_bar_height 가 없는 경우 윈도우 데코에서 상태 표시줄 높이를 계산합니다.

 

 

 

출처 : https://stackoverflow.com/questions/3407256/height-of-status-bar-in-android

반응형
댓글
공지사항
최근에 올라온 글