2016-08-26 14 views
0

のスプラッシュ画面用の画像サイズを計算するためにどのようにして、単一の画像(640x960)を設定します。 Nexus 5xで実行している場合、この画像は画面よりも大きく見え、部分的にしか表示されません。は、特定のAndroidデバイス

アンドロイドについては、解像度を直接使用しないで読むことができます。それでは、問題は、スケーリングせずに特定のアンドロイドデバイスの画面に収まるイメージのサイズを計算する方法です。

私は、Nine Patchイメージを使用して、拡大縮小してはならないイメージの部分を歪ませないスプラッシュイメージを作成できることを理解しています。この問題は、イメージピクセルが実際のデバイスの画面にどのように関連しているかをより良く理解することができます。また、Nine Patchイメージを使用することは、スプラッシュイメージが任意の画面サイズのAndroidデバイスで動作することを保証する唯一の方法です。

感謝

+0

した密度-フォルダには、このイメージを入れているコードで計算を行うことなく、トリックを行う必要がありますscaleType centerInside? – rajesh

+0

画像を1つのフォルダに入れる場合と同様に、 xhdpi、androidは、この画像をその密度に従って再スケーリングします。したがって、hdpi画面では画像が小さくなり、xxhdpiおよびxxxhdpi画面では画像が大きくなります。 – rajesh

+0

良い質問です。私は描画可能なイメージしか持っていなかった。なぜ640x960画像がNexus 5xの画面よりも大きく見えるのですか? –

答えて

0

<ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/imageView" 
     android:src="@drawable/launch_image" 
     android:scaleType="centerInside"/> 
+0

NathaZさんにありがとうございましたが、640x960画像がNexus 5xの画面サイズが1080x1920の画面解像度で表示される理由を理解することができました。画像の解像度が画面の解像度に変換されないことは分かっています。しかし、私はこれらの2つがお互いにどのように関連しているのか理解したいと思います。 –

+0

なぜスプラッシュ画面でapp:layout_behaviorを使用していますか? – znat

関連する問題