我是Android新手。有沒有什麼辦法可以設計我們的佈局而不需要任何控制。我使用相對佈局,但如果我更改一個按鈕,整個佈局會受到干擾。以自定義的方式對齊按鈕變得非常困難。我們是否有任何其他佈局允許用戶將視圖保留在他想要的位置?如何學習Android UI創建的基本知識?
回答
你說你正在使用RelativeLayout
,這是你現在麻煩的根本原因。
在RelativeLayout
中,所有元素都定義了它們相對於父級或佈局中其他元素的位置。所以如果你有10個元素,它們以1 <- 2 <- 3 <- 4 <- 5 <- 6 <- 7 <- 8 <- 9 <- 10
的順序相互依賴,並且你改變元素5的位置。這將直接影響元素6的位置,並且導致多米諾效應直到10,有效地搞亂你的佈局。
然而,RelativeLayouts
是非常靈活和有用的佈局,一旦你得到使用它們的竅門。另一方面,如果您只是將視圖堆疊在一起,請考慮使用LinearLayout
。
在選擇佈局時,文檔here可能特別有用。
您可以隨時手動編輯xml,而無需使用wysiwyg ui編輯器。這樣你就能更好地理解佈局和小部件。
是的,我已經開始編輯XML。謝謝。 – samuelebe
@samuelebe如果我的答案幫助了你,你可以通過點擊他的勾號來接受它。 :) –
請閱讀本文件http://developer.android.com/guide/topics/ui/declaring-layout.html。在android中有一個初學者需要的一切。這可能有點無聊,但真的很有用。
感謝您的鏈接 – samuelebe
在android中開發環境,程序員更喜歡 相對佈局製作圖形用戶界面/屏幕,因爲它們非常靈活且獨立於設備,但在您的情況下,您進行佈局並更改按鈕,這肯定會導致問題。在相對佈局中,一切都依賴於其他一些小部件,所以從上到下和從左到右使您的層次結構。從左上角開始,然後右下角。
基本相對佈局 使用toLeftOf,toRightOf,alignParentRight,centerInParent,centerHorizontal,centerVertical。
除了使用小部件的寬度和高度作爲包裝內容(如果使用自定義圖形),否則使用dp中小部件的寬度/高度,sp。中的字體。
祝你好運。
謝謝澄清。將遵循這一點。 – samuelebe
是的,有很多佈局可用。 RelativeLayout是一切相對於彼此的位置。這顯然意味着對一個元素的改變往往會影響到其他元素。如果你想要更健壯的佈局,你可以使用LineraLayout,FrameLayout,TableLayout,GridLayout和RelativeLayout的任意組合。你可以根本不使用RelativeLayouts來構造任何東西,但是這可能意味着你的佈局XML會變得非常臃腫(可能渲染速度很慢)。請記住,你可以混合搭配。所以如果你想在屏幕上的某個位置定位事物列表,你可以使用頂層的RelativeLayout來定位一個嵌套的LinearLayout(垂直)。通過這種方式改變訂單和/或從列表中添加/刪除東西並不那麼繁瑣。
- 1. 學習Android UI創建
- 2. 學習Prolog基礎知識
- 3. 如何學習編程基礎知識?
- 4. 學習WCF的基礎知識
- 5. 學習UIScrollView的基礎知識
- 6. Java和Xml基礎知識和學習
- 7. 學習網絡基礎知識
- 8. 幫助學習算法基礎知識
- 9. 機器學習:基礎知識DepreciationWarning
- 10. 漂亮的博客學習從基礎知識的Android
- 11. 可可的優秀初學者項目應該如何學習基礎知識?
- 12. 網上有什麼用來學習AI和機器學習的基礎知識
- 13. R基本知識:創建ID列
- 14. 基本查詢學習項目 - 建議?
- 15. 學習3D基礎知識的資源(Python/JavaScript)
- 16. 學習Adobe後遺症的基礎知識
- 17. 使用SQL Server學習.net的基礎知識
- 18. 學習C++本身的資源,而不是編程的基礎知識?
- 19. JavaScript基礎知識/教學
- 20. 如何應用UI學習自動化的深度學習?
- 21. 學習算法和數據結構基礎知識
- 22. 學習Silverlight 4基礎知識4數據綁定
- 23. C++ - 在短時間內需要學習一些基礎知識
- 24. 從RandomForest提取知識(scikit學習)
- 25. 基本機器學習
- 26. 基本問題學習meteorJS
- 27. 如何創建scikit學習數據集?
- 28. 使用ARC(強/弱)避免循環保留,學習一些基本知識
- 29. Android學習曲線
- 30. Javascript登錄,基本知識
現在我明白了。謝謝。 – samuelebe