1. ホーム
  2. android

ステータスバーの高さ?

2023-09-06 17:47:35

質問

ステータスバー+タイトルバーの高さを取得する方法はありますか?開発フォーラムをチェックすると、同じ質問が表示されますが、解決策はありません (私が見つけることができたもの)。

私は最初のレイアウトパスの後にそれを得ることができることを知っていますが、私は私の活動のonCreate()でそれを得ることを探しています。

ありがとうございます。

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

Rect rectgle= new Rect();
Window window= getWindow();
window.getDecorView().getWindowVisibleDisplayFrame(rectgle);
int StatusBarHeight= rectgle.top;
int contentViewTop= 
    window.findViewById(Window.ID_ANDROID_CONTENT).getTop();
int TitleBarHeight= contentViewTop - StatusBarHeight;

   Log.i("*** Jorgesys :: ", "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;
}