2012年8月15日水曜日

HoneyCombでのDisplayについて


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


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

ログの出力方法

1
2
3
4
5
6
7
8
9
10
11
Display display = getWindowManager().getDefaultDisplay();
DisplayMetrics displayMetrics = <span class="synStatement">new</span> DisplayMetrics();
display.getMetrics(displayMetrics);
 
Log.e(<span class="synConstant">""</span>,<span class="synConstant">"------------------ "</span>);
Log.e(<span class="synConstant">""</span>,<span class="synConstant">"display.getHeight() = "</span> + display.getHeight());
Log.e(<span class="synConstant">""</span>,<span class="synConstant">"display.getWidth() = "</span> + display.getWidth());
Log.e(<span class="synConstant">""</span>,<span class="synConstant">"------------------ "</span>);
Log.e(<span class="synConstant">""</span>,<span class="synConstant">"displayMetrics.heightPixels = "</span> + displayMetrics.heightPixels);
Log.e(<span class="synConstant">""</span>,<span class="synConstant">"displayMetrics.widthPixels = "</span> + displayMetrics.widthPixels);
Log.e(<span class="synConstant">""</span>,<span class="synConstant">"------------------ "</span>);



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


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


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

0 件のコメント:

コメントを投稿