2016-07-12 18 views
2

我有幾個圖像,需要在特定的地方,但仍然是單獨的圖像。例如,假設我有一張臉的圖像。單獨的圖像將是鼻子,眼睛,嘴脣等...Android/XML:有沒有辦法在特定的地方設置圖像,而不是相對的?它們可以設置爲在更大的設備上正確縮放嗎?

我需要他們在臉上的特定地方。問題有兩方面:1,我需要把它們放在特定的位置。相對佈局似乎不太好。除非我完全輸入邊距差距。

2:另一個問題是,當我改變到不同的設備,它擰緊了定位。如果我手動輸入邊距,當我移動到平板電腦時,所有事情都會再次出現。

完成此操作的最佳方法是什麼?

+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

您的示例中的imageview是「臉部」還是連接到臉部的各種身體部位?我不確定你的榜樣我會如何對齊這些。 – jagrakye

相關問題