2010-11-26 13 views
1

背景画像に3枚の画像を表示したい。最初に、私は相対レイアウトを使用し、背景を自分の背景イメージに設定することを考えました。それから、私はレイアウトに画像を配置しました:左、中央、右。問題は、相対レイアウトが画面全体を満たし、背景イメージが拡大縮小されることです。背景画像をレイアウト内の画像ビューとして使用することは選択肢ではありません。なぜなら、私の3枚の画像に背景高さによって決定される最大の高さを設定したいからです。これを達成する最良の方法は何ですか?ここに私のコードがあまりにもある:RelativeLayout wrap_content problem

よろしくすべての

+0

ですから、あなたの背景画像の高さは、まさにの絶頂を決定したいですか?私はそれを実際に得ていない。 –

+0

背景の高さでレイアウトの高さを決定したい。また、前景画像は、高さが背景画像の高さよりも大きい場合、自動的に縮小されます。 – Gratzi

答えて

2

まず、あなたの3枚の前景画像が直線的に配置され、その横LinearLayoutに入れています。その後、ImageViewに背景画像を保持させ、LinearLayoutをImageViewの端に合わせるように設定します。 ImageViewのサイズは画像の内容によって決まります。

すなわち:

<RelativeLayout> 

    <ImageView android:id="@+id/background" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@drawable/instruction_background" 
    /> 

    <LinearLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:alignLeft="@id/background" 
    android:alignTop="@id/background" 
    android:alignRight="@id/background" 
    android:alignBottom="@id/background" 
    > 

    <ImageView ... /> 
    <ImageView ... /> 
    <ImageView ... /> 
    </LinearLayout> 
</RelativeLayout> 
+0

フォアグラウンドイメージは線形に配置されていますが、イメージサイズを維持したいので線形レイアウトは良くありません。より現実的な効果が必要な場合はイメージビューをオーバーラップしたいと考えています。 – Gratzi

+0

あなたの質問は、前景画像は "左、中央、右"であると言います。私には線形に聞こえる。代わりにを使用してください。元の問題は解決しましたか? –

+0

それは働いた!どうもありがとう。トリックはalignXXXフィールドでした。 – Gratzi