2012-11-15 46 views
-5

我是Android新手。有沒有什麼辦法可以設計我們的佈局而不需要任何控制。我使用相對佈局,但如果我更改一個按鈕,整個佈局會受到干擾。以自定義的方式對齊按鈕變得非常困難。我們是否有任何其他佈局允許用戶將視圖保留在他想要的位置?如何學習Android UI創建的基本知識?

回答

0

你說你正在使用RelativeLayout,這是你現在麻煩的根本原因。

RelativeLayout中,所有元素都定義了它們相對於父級或佈局中其他元素的位置。所以如果你有10個元素,它們以1 <- 2 <- 3 <- 4 <- 5 <- 6 <- 7 <- 8 <- 9 <- 10的順序相互依賴,並且你改變元素5的位置。這將直接影響元素6的位置,並且導致多米諾效應直到10,有效地搞亂你的佈局。

然而,RelativeLayouts是非常靈活和有用的佈局,一旦你得到使用它們的竅門。另一方面,如果您只是將視圖堆疊在一起,請考慮使用LinearLayout

在選擇佈局時,文檔here可能特別有用。

+0

現在我明白了。謝謝。 – samuelebe

1

您可以隨時手動編輯xml,而無需使用wysiwyg ui編輯器。這樣你就能更好地理解佈局和小部件。

+0

是的,我已經開始編輯XML。謝謝。 – samuelebe

+0

@samuelebe如果我的答案幫助了你,你可以通過點擊他的勾號來接受它。 :) –

1

在android中開發環境,程序員更喜歡 相對佈局製作圖形用戶界面/屏幕,因爲它們非常靈活且獨立於設備,但在您的情況下,您進行佈局並更改按鈕,這肯定會導致問題。在相對佈局中,一切都依賴於其他一些小部件,所以從上到下和從左到右使您的層次結構。從左上角開始,然後右下角。

基本相對佈局 使用toLeftOf,toRightOf,alignParentRight,centerInParent,centerHorizo​​ntal,centerVertical。

除了使用小部件的寬度和高度作爲包裝內容(如果使用自定義圖形),否則使用dp中小部件的寬度/高度,sp。中的字體。

祝你好運。

+0

謝謝澄清。將遵循這一點。 – samuelebe

0

是的,有很多佈局可用。 RelativeLayout是一切相對於彼此的位置。這顯然意味着對一個元素的改變往往會影響到其他元素。如果你想要更健壯的佈局,你可以使用LineraLayout,FrameLayout,TableLayout,GridLayout和RelativeLayout的任意組合。你可以根本不使用RelativeLayouts來構造任何東西,但是這可能意味着你的佈局XML會變得非常臃腫(可能渲染速度很慢)。請記住,你可以混合搭配。所以如果你想在屏幕上的某個位置定位事物列表,你可以使用頂層的RelativeLayout來定位一個嵌套的LinearLayout(垂直)。通過這種方式改變訂單和/或從列表中添加/刪除東西並不那麼繁瑣。