2012-01-03 14 views
0

私たちはiOS開発のAndroidアプリを開発し始めており、背景画像の操作が難しいです。Androidの背景画像コンテナよりも大きい

私たちは1024x1200の背景イメージを、ビューの中央に水平に配置し、上部に配置したいと考えています。イメージの拡大縮小は望まず、イメージがオーバーフロー/クリップしてビュー内に正しく表示されるようにします。あなたのようなものはCSSのバックグラウンドポジションで達成するでしょう:トップセンター;

私たちはいくつかのアプローチを試しましたが、常にスケーリングされたイメージを取得しています。 setScaleType()、setAdjustViewBounds()、LayoutParamsを使用した重力の設定などさまざまな組み合わせが成功していません。私たちは次に何を試してみようとしています。

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

クレイグ

+0

これは問題を解決しないかもしれませんが、 'background'属性でイメージを設定した場合、scaletypeは機能しません。それらを使用したい場合、 'src'属性に設定されたイメージを持つ' ImageView'が必要になります。 – Jave

+0

基本的には、ImageView、centercropに設定されたscaletype、layout_gravityとしてtop | center_horizo​​ntalが必要です。 – Jave

答えて

0

層リスト作成:この層リスト層で

​​

をビットマップタグとして背景(所望の色の固体長方形)、及び画像(このビットマップタグはスケーリングを防ぎます)、画像の所望の重力を設定します。レイヤーリストの最後のアイテムとして画像を置くようにしてください。このドロアブルをバックグラウンドとして設定します。

何らかの理由で画像が画面全体を満たさない場合に、背景色が変わり、画像が縮尺されず、目的の重力属性に従います。