タブレット用Android Honeycombの次期アップデートで、スマートフォン向けAndroidアプリをタブレットで拡大表示する新モードが追加される。Androidの開発者ブログでリードテックライターのScott Main氏が明らかにした。
スマートフォン用にデザインされたAndroidアプリは、Android Honeycombでは大きな画面を埋めるようにレイアウトを引き伸ばす (ストレッチする)形で表示される。しかし中にはレイアウトが崩れてしまうアプリがあり、レイアウトをリサイズできないアプリでもタブレット・ユーザーがスマートフォンと同じように使用できるように拡大モードを提供する。
具体的にはAndroid 3.0/3.1をターゲットにしていないアプリ、もしくはsupports-screens要素でandroid:xlargeScreens="true"を明示していないアプリではシステムバーにフィルスクリーン・ボタンが配置される。タップすると「Stretch to fill screen」(以下ストレッチモード)と「Zoom to fill screen」(同ズームモード)を選択するメニューが現れる。ストレッチモードはレイアウトを引き伸ばして大きなスクリーンにフィットさせる表示モード。拡大表示ではないので大きな画面を有効に使ってコンテンツが表示されるが、レイアウトのリサイズであるため一部のアプリで表示が崩れてしまう。ズームモードは新しい拡大表示モードだ。タブレット上でnormal/mdpiスクリーン(約320×480)をエミュレートしてアプリを動作させる。スマートフォンの小さな画面向けのアプリがシンプルに拡大表示されるのでレイアウトは崩れない。しかしながら、拡大であるためすべてが大ぶりな表示になる。
左がストレッチモード。画面全体を有効に使ってコンテンツ(地図)が表示される。右はズームモード。レイアウトが崩れることなく開発者の意図した通りに操作できるが、拡大表示なので大きな画面では表示にムダ(上部のバーが倍の太さになるなど)が生じる |
Main氏は、まずストレッチモードを試し、レイアウトのリサイズに問題が生じた場合にズームモードへの切り換えを推奨している。
なおフィルスクリーン・ボタンが現れるアプリでもストレッチモードを意識してデザインされている場合は、ユーザーがズームモードを選択することで利用体験が損なわれる可能性がある。そのためズームモードを避けたい開発者に対してMain氏は、manifestファイルのsupports-screens要素でxlargeScreensのサポートを宣言するように促している。