So-net無料ブログ作成
検索選択

Android3.0とAndroid1/2の違い(ステータスバー) [スマートフォン]

Android1/2のステータスバーって画面上部にありますよね。
この上部ステータスバーの高さを取得するための方法として結構有名な手段がこれ。

Rect rect= new Rect();
Window window= activity.getWindow();
window.getDecorView().getWindowVisibleDisplayFrame(rect);
int statusBarHeight= rect.top;

ところがですね~、Android3(タブレット)ではこれが通用しないんです。なぜならば・・・ステータスバーが画面下部に移ってしまったから。(XOOMなどの画面サンプルをよくご覧になっていただければわかると思います)
上記のコードではrect.topは0となります。

Android3の場合、(画面全体のサイズ- Rect.height)でステータスバーの高さが計算できるのかな。(未確認です)

Android3.1以降では通常のスマートフォンでも利用できるように最適化していくと先日のGoogle I/O 2011で発表されていました。その時ステータスバーが上部に表示されるのか、下部に表示されるのかわかりませんが、どちらに表示されてもいいように実装するのがよさそうです。
(今のところ両方ということはなさそうですのでRect.topが0なら画面下部にステータスバーがあると想定してよさそう)


nice!(0)  コメント(1)  トラックバック(0) 
共通テーマ:携帯コンテンツ

nice! 0

コメント 1

BlackBerry 仕様

なるほどですね。僕はアンドロイド3.0がタブレットでもスマートフォンでも使えると思います。
そして、アンドロイド2がスマートフォンだけで使えるんでしょうね。
by BlackBerry 仕様 (2011-05-19 00:28) 

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この記事のトラックバックURL:
※言及リンクのないトラックバックは受信されません。
メッセージを送る

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。

×

この広告は1年以上新しい記事の更新がないブログに表示されております。