1. ホーム
  2. android

[解決済み] Androidのステータスバーの高さ [重複]について

2022-03-15 08:52:54

質問

Androidのステータスバーの高さを教えてください。いつも同じなのでしょうか?

私の計測では25dpのようですが、すべてのプラットフォームで同じ高さかどうかはわかりません。

(ステータスバーがないアクティビティからあるアクティビティへのフェード遷移を適切に実装するために知っておきたい)

どのように解決するのですか?

この質問は以前に回答されています。 ステータスバーの高さは?

更新情報 ::

現在の方式です。

OK、ステータスバーの高さは画面サイズに依存します。 画面サイズが 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;
}