30

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

しかし、私が気にかけている重要な画面サイズは少なくとも3つあります。320x480、480x854(Droid)、および480x800(Nexus One)です。

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

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

4

3 に答える 3

32

画面の絶対サイズやステータス バーなどを気にする必要はありません。

私が行ったのは、各解像度で見栄えの良い画像を作成することでした。基本的には、透明な背景にロゴがあり、下部にテキストがいくつかあります。

次に、上端と横端のかなりのスペースを切り取り、画像の周囲に 9 パッチの境界線を作成し、左端、右端、および上端の近くに 1 つのピクセルを配置しました。これにより、画像が画面全体に均等に拡大されます。


以下のダンのコメントに応じて、編集します。

はい、明示的な画面サイズにどのグラフィックスを使用する必要があるかを判断する方法はありますが、非推奨です

リソース修飾子があるのdrawable-hdpiと同じように、使用することもできます— 大きいピクセル次元が先になります。-ldpidrawable-HHHxWWW

例えばdrawable-800x480drawable-854x480

于 2010-04-01T17:29:05.757 に答える
6

まず、 android.os.Buildを介してデバイス モデルを見つけ、それを使用して表示する画像を決定できます。

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

于 2010-04-01T17:35:29.647 に答える
1

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

于 2013-01-21T14:49:59.917 に答える