androidステータスバーとタイトルバーの高さ

1111 ワード

1.ステータスバーの高さを取得する:
decorViewはwindowの最上階のviewであり、windowからdecorviewを取得し、DecorViewにはgetwindowvieble DisplayFrame方法があります。プログラム表示のエリアはタイトルバーを含むが、ステータスバーは含まれていません。
そこで、ステータスバーの高さを算出することができます。
Javaコード
  Rect frame = new Rect();

  getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);

  int statusBarHeight = frame.top;

  Rect frame = new Rect();

  getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);

  int statusBarHeight = frame.top;
2.タイトルバーの高さを取得する:
get Window().findViewById(Window.IDuCONTENT)という方法で得られたviewはプログラムにタイトルバーの部分が含まれていないので、タイトルバーの高さが分かります。
Javaコード
 
 int contentTop = getWindow().findViewById(Window.ID_ANDROID_CONTENT).getTop();

  //statusBarHeight            

  int titleBarHeight = contentTop - statusBarHeight

  int contentTop = getWindow().findViewById(Window.ID_ANDROID_CONTENT).getTop();

  //statusBarHeight            

  int titleBarHeight = contentTop - statusBarHeight