2010年10月27日水曜日

Android: Title bar and Status bar

 ビューについて描画する時、スクリーンサイズを取得し、ステータスバーとタイトルバーの高さを引かないと表示することがずれてしまうですね。でも、タイトルバーとステータスバーの高さはどうやって取得できますかと分かりませんですね。いろいろ探していい方法ではありませんが解決できるんです。
まず、ステータスバーはスクリーン密度に依存します。
※ 24px <=> LDPI
※ 32px <=> MDPI
※ 48px <=> HDPI
タイトルバーもステータスバーと同じ高さぐらいから
下記のコードで解決できます。
DisplayMetrics metrics = new DisplayMetrics();
context.getWindowManager().getDefaultDisplay().getMetrics(metrics);
switch (metrics.densityDpi) {
case DisplayMetrics.DENSITY_HIGH:
m_screenSize.y = display.getHeight() - 2*48;
break;
case DisplayMetrics.DENSITY_LOW:
m_screenSize.y = display.getHeight() - 2*32;
break;
case DisplayMetrics.DENSITY_MEDIUM:
m_screenSize.y = display.getHeight() - 2*24;
break;
default:
break;
}


0 件のコメント:

コメントを投稿