web-dev-qa-db-ja.com

私のAndroidスプラッシュスクリーンはどうあるべきですか?

Androidアプリケーションのロード中に表示されるスプラッシュスクリーンを作成しています。正しいサイズで作成したいので、Androidはできません画面に合わせて拡大または縮小します(ビットマップイメージ、油絵の写真なので、9つのパッチに変えることはできません)。

ただし、気になる重要な画面サイズは少なくとも3つあります。320x480、480x854(Droid)、480x800(Nexus One)です。

複数の画面サイズをサポート のドキュメントを読みましたが、Droid/Nexus 1に異なるスプラッシュ画面を構成する方法がまだわかりません(どちらも「hdpi」リソースです) Androidが関係している)限り、どのような場合でもスプラッシュスクリーンの大きさを正確に知りません(DroidのOSタイトルバー/メニューの高さはN1ですか?)。 )

これらの画像はどのサイズにする必要がありますか。また、Androidで指定された画面で正しいサイズを使用するようにするにはどうすればよいですか?

30
Dan Fabulich

絶対的な画面サイズやステータスバーなどについて心配する必要はありません。そのため、9パッチの画像を用意しています。

私がしたことは、それぞれの解像度に見栄えのよい画像を用意することでした。基本的には透明な背景のロゴで、下部にテキストがいくつかあります。

次に、上端と側端でかなり多くのスペースを切り取り、画像の周囲に9パッチの境界を作成しました。左、右、上端の近くに1ピクセルがありました。これにより、画像が側面と上部で均等に拡大され、画面いっぱいになります。


以下のDanのコメントに応じて編集

はい、どのグラフィックをどの明示的な画面サイズに使用するかを決定する方法はありますが、それは 非推奨 です。

drawable-hdpiおよび-ldpiリソース修飾子があるように、drawable-HHHxWWWを使用することもできます。

例えばdrawable-800x480およびdrawable-854x480

32
Christopher Orr

まず、デバイスモデルを Android.os.Build で見つけ、それを使用して表示するイメージを決定します。

第二に、私は個人的に気にしないでしょう。すべてのAndroid画面は320x480のディップだと私は信じており、Androidは私の経験上、これによりデバイス間のアスペクト比を非常によく維持しているため、レイアウトはディップで行う必要があります。A親を埋めるために設定された480x800のスプラッシュは、私が遭遇した限りでは、N1とドロイドの両方でかなり信頼できます。

6
jqpubliq

私が実装した別の解決策は、スケールタイプ「centerCrop」で画面全体(幅と高さの両方「MATCH_PARENT」)にImageViewを配置することです。この方法では、画像は引き伸ばされずに、端に沿ってトリミングされます。重要なコンテンツ(ロゴなど)を端に近づけないようにしてください。写真だと縁が「消耗品」で切り取れるようになってほしいです。

1