2012-01-30 12 views
0

私のアンドロイドアプリに表示するためにアセットファイルにすべての画像があります。ほとんどのアンドロイド携帯電話の解像度に合わせるために、サイズ1280 * 800の画像を大部分の解像度160 dpiで作成しました。私はそれが適切な方法であるかどうか確信していません...アセットフォルダに保存されている画像のサイズを異なるサイズの画面に合わせる

しかし、私はアプリを実行しようとすると、電話が自動的に画像を調整することができなかったようです。電話機が画面サイズに合わせて画像を調整できるように、プログラムをコーディングする方法を尋ねたいと思いますか?

ありがとうございます。

+0

小さいデバイスではイメージが大きいため、一部のデバイスではメモリ不足例外が発生するため、1280 * 800イメージサイズを使用しないでください。 – Raz

答えて

1

1280 x 800は、実際にどのデバイスでもサポートされている解像度ではありません。ハニカムデバイス(その解像度を持つ)はアクションバーとステータスバーのスペースをすべて割り当てているので、フルスクリーンのイメージを作成しようとしている場合は、そのことを考慮する必要があります。アスペクト比を維持するように画像を設定し、縦に親を塗りつぶしてコンテンツを横方向に(またはその逆に)設定すると、画像が正しくスケールされて見えるようになり、72dpiのままになります。それらを正しく。

<ImageView 
     android:adjustViewBounds="true" 
     android:layout_width="wrap_content" 
     android:layout_height="fill_parent" 
/> 
+0

'グラフィックスg = game.getGraphics(); Assets.firstPage = g.newPixmap( "first_page.png"、PixmapFormat.RGB565); game.setScreen(新しいStartupScreen(game)); ' 画像ファイルをアセットに保存します。しかし、それはビューの境界を調整することができる同様の機能があるようです。とにかくこの方法で調整を行うのですか? – George

+0

なぜこのようにしているのか分かりませんが、自分で描画したい場合は、画面の幅と高さを引っ張り、ビットマップをそれらの次元に拡大する行列を通して実行してください。 –

+0

guiを直接作成するのではなく、コードを使って画面を制御したいと思っています。これは私の最初のアンドロイドプログラムであり、私はそれを行う良い方法だとは確信していません。 – George

1

dpiの代わりにdip(密度に依存しないピクセル)を使用する方が良いかどうかは分かりませんが、後者は画面の密度に依存し、前者はそうではありません。

+0

は密度に依存しないピクセルではなく、160 dpiの画面上の1つの物理ピクセルに相当しますか?解像度を160dpiに設定するのは正しいですか? – George

関連する問題