2012年8月15日水曜日

HoneyCombでのDisplayについて


stackoverflowにて、以下のような質問がありました。
How can I get android Honeycomb system’s screen width and height?


DisplayってStatusBar込みの画面サイズだったような。。。っと思い、
手元にあるNexus S と Xoomで確認をしました。

ログの出力方法

Display display = getWindowManager().getDefaultDisplay();
DisplayMetrics displayMetrics = new DisplayMetrics();
display.getMetrics(displayMetrics);

Log.e("","------------------ ");
Log.e("","display.getHeight() = " + display.getHeight());
Log.e("","display.getWidth() = " + display.getWidth());
Log.e("","------------------ ");
Log.e("","displayMetrics.heightPixels = " + displayMetrics.heightPixels);
Log.e("","displayMetrics.widthPixels = " + displayMetrics.widthPixels);
Log.e("","------------------ ");



以下のような結果となりました。
HoneyCombではSystemBarの高さ分だけ、Heightから引かれているようです。


端末vergetHeight()getWidth()
Nexus S2.3.5800480
Xoom3.27521280


GingerBreadまではStatusBarの領域まで描画できたのに対し、
HoneyCombはSystemBarが隠せない?のが影響しているのでしょうか。

0 件のコメント:

コメントを投稿