スクリーン互換性の例

このセクションでは、Androidプラットフォームが基本スクリーン構成(HVGA(320×480)解像度で3.2インチスクリーン)向けに作られたアプリケーションを、互換機能がサポートする全てのサイズ、ピクセル密度で表示する例を解説します。この例は、描画されるスクリーンに対してビルトインのサポートを提供せず、代わりに、プラットフォームに完全に依存するアプリケーションを、プラットフォームがどの様に表示するかを示します。

プラットフォームのスクリーン互換機能は、ユーザに対して、基本スクリーンサイズ・ピクセル密度と同等の物理的表示領域を確保するとともに、その上に仮想的な基本スクリーン環境を提供する様にデザインされています。

複数スクリーンをサポートするように改修されていないレガシーアプリケーションがこの様なアプリケーションの典型です。殆どのケースで、レガシーアプリケーションにも複数スクリーンサポートを追加したアップデートを公開したいでしょう。しかし、それをしない場合、プラットフォームは以下の様に出来る限りあなたのアプリケーションを描画しようとします。

内部的に、プラットフォームが提供する、カレントデバイススクリーンに基づく互換機能があります。

  • もし、デバイスのスクリーン密度がmediumでない場合、アプリケーションのレイアウトおよび画像はmedium向けとみなされ、フレームワークがレイアウトと画像(もし、ターゲット密度の画像がない場合)をターゲット密度にフィットさせます。ターゲット密度がhigh(160⇒240 仮想的dpi)の場合1.5倍、low(160→120 仮想的dpi)の場合0.75倍となります。
  • デバイススクリーンサイズがsmallの場合、android1.5をそれらのスクリーンで上手く稼働させる為の選択肢は多くありません。従って、AndroidMarketはこれらのスクリーンをサポートしないアプリケーションをフィルタします。
  • もし、デバイススクリーンサイズがlargeの場合、アプリケーションのスクリーンをnormalサイズに限定し、アプリケーションの周りは黒く描画にします。例えば、high密度をサポートするが、largeサイズスクリーンをサポートしないアプリケーションの場合、480×720のエリアだけを利用し、残り部分は黒く塗られます。

compati_sample

small、low密度スクリーンにおける、スクリーン互換性の制限について
これらのデバイスはサイズ・解像度ともに小さいので、互換モードで実行時の制限事項が知られています。

QVGA
QVGA(240×320)スクリーンはエリアが狭く、基本スクリーン(240×360でlow密度)よりも密度が低いので、これらのスクリーン上に適切に全てのコンテンツを表示出来ないアプリがあります。結果として、QVGAデバイスに対しては、Android Marketがsmallスクリーンをサポートすると宣言していないアプリケーションをすべてフィルタアウトします。

例:
QVGA

1pixel画像について

ある画像が高さ、もしくは幅が1pixelの場合、丸め問題により、スクリーンに表示されない事があります。これは十分なサイズがない為、避けられません。

例えば、以下のスクリーンで、メニューの仕切りが、画像の横幅が0に変換されているので、表示されていません。(メニューはフレームワーク内で扱われている為、この個別の問題は解決可能ですが、十分なピクセルがないと言う事ですので、抜本的な解決策はありません。)

androidドキュメント和約「様々なスクリーンのサポートについて」その1
androidドキュメント和約「様々なスクリーンのサポートについて」その2
androidドキュメント和約「様々なスクリーンのサポートについて」その3
androidドキュメント和約「様々なスクリーンのサポートについて」その4
androidドキュメント和約「様々なスクリーンのサポートについて」その5
androidドキュメント和約「様々なスクリーンのサポートについて」その6
androidドキュメント和約「様々なスクリーンのサポートについて」その7
androidドキュメント和約「様々なスクリーンのサポートについて」その8

 

2 Responses to androidドキュメント和約「様々なスクリーンのサポートについて」その8

  1. […] androidドキュメント和約「様々なスクリーンのサポートについて」その8 […]

  2. […] androidドキュメント和約「様々なスクリーンのサポートについて」その8 […]

コメントを残す

メールアドレスが公開されることはありません。