androidステータスバーとタイトルバーの高さ
1.ステータスバーの高さを取得する:
decorViewはwindowの最上階のviewであり、windowからdecorviewを取得し、DecorViewにはgetwindowvieble DisplayFrame方法があります。プログラム表示のエリアはタイトルバーを含むが、ステータスバーは含まれていません。
そこで、ステータスバーの高さを算出することができます。
Javaコード
get Window().findViewById(Window.IDuCONTENT)という方法で得られたviewはプログラムにタイトルバーの部分が含まれていないので、タイトルバーの高さが分かります。
Javaコード
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