2011年8月19日金曜日

Android 3.2 でサポートされた Zoom to fill screen 機能

Android 3.2 から、Android 3.0 向けではなくかつ xlarge をサポートしていないアプリを起動すると、System bar に画面のストレッチみたいなアイコンがでます。このアイコンをタップすると、Stretch to fill screen と Zoom to fill screen のいずれをか選ぶことができます。

こんなやつ


詳しくは
Android Developers Blog: New Mode for Apps on Large Screens -

とか

Declaring Tablet Layouts for Android 3.2 | Supporting Multiple Screens | Android Developers -

にありますが、まとめると

■ Stretch to fill screen

通常のモード。Android の多解像度対応のルールに従って画面のレイアウトが決まる(リサイズされる)。

画像やレイアウトなどは、その解像度&画面サイズの識別子がついたものが使われる (= drawable-hdpi, とか layout-xlarge が使われる)

■ Zoom to fill screen

アプリを normal/mdpi スクリーン(だいたい 320dp x 480dp)に描画した場合のものを画面に拡大して表示する。

電話に描画したものを 200 % ズームしたと想像すればよい。

画像やレイアウトなどは、normal /mdpi の場合のものが使われる (= drawable-hdpi があったとしても、drawable-mdpi や layout-normal が使われる)ので、画素化(pixelated)された感じになる。ピクセルが目立つというかがたがたしてる感じかな。


■ Zoom to fill screen が出ない条件

 ・ AndroidManifest.xml で android:minSdkVersion
   11 以上を指定している
 ・ AndroidManifest.xml で android:targetSdkVersion
   11 以上を指定している
 ・ AndroidManifest.xml で以下を指定している

<manifest ... >
<supports-screens android:xlargeScreens="true" />
...
</manifest>

 のどれか1つでも満たしている場合、Zoom to fill screen は出ない
 (= System bar に画像のストレッチみたいなアイコンがでない)


■ Zoom to fill screen が出る条件

 Zoom to fill screen が出ない条件を満たしていない場合



左が Stretch to fill screen、右が Zoom to fill screen


# Honeycomb で画面がすっかすかーになってしまった
# アプリにはいいモードですね。
# normal/mdpi の拡大なのでどのくらいピクセル化が
# 目立つのかちょっと気になるなぁ。




0 件のコメント:

コメントを投稿