2016-07-12 3 views
2

私はいくつかの画像を持っていますが、それらは特定の場所にある必要がありますが、別々の画像のままです。たとえば、私が顔のイメージを持っていると想像してみてください。別々のイメージは、鼻、目、唇などです。Android/XML:相対的ではなく特定の場所に画像を設定する方法はありますか?より大きなデバイスを使用しているときに、適切に拡大縮小するように設定できますか?

私は顔の特定の場所でそれらが必要です。問題は二重です:

1:私はそれらを特定の場所に置く必要があります。相対レイアウトはうまく動作しないようです。マージンギャップを正確に入力しない限り。

2:もう1つの問題は、別のデバイスに変更したときに、位置がねじれてしまうことです。手作業でマージンを入力すると、タブレットに移動するとすべてが再びねじ込まれます。

これを達成する最も良い方法は何ですか?

+0

あなたはAbsoluteLayoutを必要とするが、それはあまりにも長い間廃止されているので、あなたはそれをシミュレートすることでframeLayoutを使用しようとすることができます。 – RRTW

+0

AbsoluteLayoutをシミュレートするフレームレイアウトを拡張することはできますか? – jagrakye

+0

下記の私の提案コードをご覧ください – RRTW

答えて

0

ネストされた線形レイアウトを作成し、コンポーネントを含め、それぞれにandroid:layout_weightを使用することができます。整列の制約が高い場合は、コンポーネントごとに別々のレイアウトを作成し、android:orientationを使用します。この方法では、デバイスの切り替え時に位置の問題が発生しません。

+0

ここにレイアウト重量は何ですか?どのようにすべての位置を維持しますか? – jagrakye

0

FYR

FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
layoutParams.gravity = Gravity.LEFT|Gravity.TOP; 
layoutParams.leftMargin = x; 
layoutParams.topMargin = y; 

imageView.setLayoutParams(layoutParams); 
+0

あなたの例のイメージビューは「顔」ですか、またはさまざまな身体部分が顔に貼り付けられていますか?私はあなたの例からそれらをどのように整列させるかはわかりません。 – jagrakye

関連する問題