[Android SDK] Notification Bar と Title Bar のサイズを知りたい

公開日: : 最終更新日:2016/06/08 Android

自分はXMLでGUI部品を配置するのがあまり好きではないので、自作アプリ おんぷちゃん for Android では、コードで全て配置している。
Androidプログラミングではあまり推奨されない方法だと思うのだが、XMLでのGUI部品配置は思った通りに配置されないことが多いので、コードで画面サイズを取得して、画面に対する割合などで部品を配置している。(単にうまいやり方を知らないだけという話もあるかもしれない)
で、そういうことをやっていると、Android OS の Notification Bar や、アプリのTitle Barのサイズも考慮する必要が出てくる。
しかし、意外にNotification BarやTitle Barのサイズを取得するのはむずかしい。以前調べたときには日本語でそういう情報を見つけられなかった。

で、困ったときのStack Overflow 頼りで調べると、こんな投稿がある。

Size of android notification bar and title bar? – Stack Overflow

 DisplayMetrics metrics = new DisplayMetrics();
 getWindowManager().getDefaultDisplay().getMetrics(metrics);
     int myHeight = 0;
     switch (metrics.densityDpi) {         
case DisplayMetrics.DENSITY_HIGH:
             Log.i("display", "high"); 
            myHeight = display.getHeight() - 48; 
            break;  
       case DisplayMetrics.DENSITY_MEDIUM:
             Log.i("display", "medium/default"); 
            myHeight = display.getHeight() - 32; 
            break; 
        case DisplayMetrics.DENSITY_LOW: 
            Log.i("display", "low");  
           myHeight = display.getHeight() - 24;  
           break; 
        default:  
           Log.i("display", "Unknown density"); 

で、このコードを流用して画面上の部品配置をしていたのだが、今日自作アプリの「au IS03で正しく表示されない」という問題を調査していて、実は今は DisplayMetrics.DENSITY_XHIGH なるものがSDKに追加されていることに気づいた。

API Level 9 (Android 2.3) で追加されたらしい。
IS03は解像度が 960×640ドットもあるので、DPIが320になっているということだ。

同様のことをやっている人は余りいないと思うけれども、参考になるかも知れないのでメモしておいてみる。

追記 2016/06/08

おんぷちゃん for Android がダウンロードできない問題が報告されて、かなり久しぶりに Android開発を再開している。

以前開発したときは Eclipseだったが、今は Android Studio だ。まずAndroid Studioの使い方から学習している。

DisplayMetrics もずいぶん追加されたものだ。今は DENSITY_XXXHIGH まで用意されている。3840×2160 の 4K Displayように使うものらしい。

 

関連記事

no image

Xperia ラスターホワイト オークションで落札

日本国内でもAndroid携帯が増えてきたので、そろそろAndroid開発もしてみようということで、

記事を読む

no image

Androidマーケットに有料アプリを公開してみた

以前Androidマーケットに無料アプリを公開したが、数は少ないが反響はあるようなので有料版も公開し

記事を読む

no image

Pebble E-Paper Watch のお届け先住所入力ページが用意された

4月にKickstarterで出資した、Pebble E-Paper Watch を作ってい

記事を読む

no image

Professional Android 2 Application Development (Reto Meier著)

Xperiaをオークションで入手して、Androidアプリの開発をはじめたので、書店やWebでAnd

記事を読む

no image

Android Market デベロッパーコンソールに統計情報が追加された

Androidマーケットにアプリをリリースする人は、デベロッパーコンソールを使ってアプリをマーケット

記事を読む

no image

Pebble E-Paper Watch 届いた! 感想。

追記: Pebble 向けにアプリを作りました。 Kickstarter で iPhone/A

記事を読む

no image

Android Tablet Iconia Tab をさわってみた 2011/08/08

USB HDDを買う用事があったのでヨドバシカメラに行ったところ、Android Tablet が展

記事を読む

Alpha値だけのPNGファイルを作成する

Cocoaの日々: UIBarButtonItem にカスタム画像を表示する にあるようなalpha

記事を読む

no image

Xperia ハードコーティングシェルジャケット クリア

iPod touchは大事に使っていたがすぐに擦り傷だらけになったので、Xperiaは最初から保護し

記事を読む

no image

Android Hacks (株式会社ブリリアントサービス著) のメモ

日本で使える端末も増えてきたのでそろそろAndroid開発を学習しようと思い、今出版されている本を列

記事を読む

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Wi-Fi6Eルータ TP-Link AXE5400購入

Wi-Fi6E を試してみたくなり、TP-Link AXE5

児童手当 認定請求書申請 2024 「請求者が養育をする18歳に達する日以降の最初の3月31日までの子の数」とは?

2024年に受給していない人には手紙が届くらしい。 電子申請も

Vision Proアプリ開発本 8/24、8/26に発売

Vision Proアプリ開発入門 P400が 8/24 に発売、V

Developer Strap が日本でも購入可能に

USアカウントでしか購入できなかった Vision Pro 用 De

Vision Pro カバーケースを買ってみた

[itemlink post_id="11629"]

→もっと見る

PAGE TOP ↑