2

iOS 開発から Android アプリの開発を開始しており、背景画像の操作に苦労しています。

1024 x 1200 の背景画像をビューの中央に水平に配置し、上揃えにします。画像をスケーリングするのではなく、画像をオーバーフロー/クリップして、ビューに正しく配置する必要があります。CSS background-position: top center; で達成できるようなこと。

いくつかのアプローチを試しましたが、常にスケーリングされた画像が得られます。setScaleType()、setAdjustViewBounds()、LayoutParams を介した重力の設定、およびその他のさまざまなものの組み合わせは成功しませんでした。私たちは今、次に何を試すべきかについて少し行き詰まっています。

アイデアは、画像のサイズを変更せずに複数の画面サイズに 1 つの画像を使用できるということです (画面サイズ/密度の範囲では、これらの画像を 2 つまたは 3 つ使用します)。これは、すべての Android 画面の可能性をカバーするために必要なこれらの画像の数を減らすためです。

クレイグ

4

1 に答える 1

1

レイヤーリストを作成します:

http://developer.android.com/guide/topics/resources/drawable-resource.html#LayerList

このレイヤー リスト レイヤーでは、背景 (目的の色の塗りつぶされた四角形) とビットマップ タグとしての画像 (このビットマップ タグはスケーリングを防止します) で、画像の目的の重力を設定します。下から上にレベルが上がるため、レイヤーリストの最後の項目として画像を配置してください。次に、このドローアブルを背景として設定します。

何らかの理由で画像が画面全体に表示されない場合に備えて、これには色付きの背景があり、画像はスケーリングされず、目的の重力属性に従います。

于 2012-05-25T19:55:34.983 に答える