LoginSignup
21
18

More than 5 years have passed since last update.

Statusbarのサイズ(高さ)を取得する。

Posted at

やりたいこと

AndroidでStatusbarの高さが必要なことがあります。例えばStatusbarを透過させてそのサイズだけ下のViewにPaddingを追加したりするときなどです。そんなときは以下のコードを適当なユーティリティクラスに書いておけばOKです!

コード

     /**
     * Return Statusbar size.
     * @param activity Activity
     * @return Statusbar size
     */
    public static int getStatusBarHeight(Activity activity){
        final Rect rect = new Rect();
        Window window = activity.getWindow();
        window.getDecorView().getWindowVisibleDisplayFrame(rect);
        return rect.top;
    }

これでStatusbarの高さを取得できます。

注意点

これをActivityで実行するときはonCreateで呼び出すとまだViewの計算が終わってないので0になってしまいます。したがってonWindowFocusChanged()内で呼び出すようにしましょう。

21
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
18