69

Jakie są zalety RelativeLayout w stosunku do LinearLayout w Androidzie? Dla konkretnego projektu, który wolałbyś i jaki jest tego powód?LinearLayout vs RelativeLayout

Czy to (RelativeLayout) porównywalne lub podobne, jak HTML <div>?

+3

Lepiej jeśli wyszukiwanie tag pytanie [LinearLayout vs RelativeLayout] (http://www.google.co.in/search?q=LinearLayout+vs+RelativeLayout&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a) w google. – user370305

+0

+1 i jest całkiem dobra odpowiedź w tym artykule: [Kiedy używać LinearLayout vs. RelativeLayout] (http://logc.at/2011/10/18/when-to-use-linearlayout-vs-relativelayout/) – scatmoi

Odpowiedz

45

Czytaj this article:

Android UI Toolkit oferuje kilka menedżerów układu, które są dość łatwe w użyciu i, przez większość czasu, trzeba tylko podstawowe cechy tych menedżerów układ zaimplementować interfejs użytkownika. Trzymanie się podstawowych funkcji nie jest niestety najskuteczniejszym sposobem tworzenia interfejsów użytkownika. Typowym przykładem jest nadużywanie LinearLayout, co prowadzi do zwiększenia liczby wyświetleń w hierarchii widoku. Każdy widok lub gorzej każdy menedżer układu, który dodajesz do aplikacji, wiąże się z kosztem: inicjalizacja, układ i rysunek stają się wolniejsze. Przełęcz układu może być szczególnie kosztowna podczas zagnieżdżania kilku linii LinearLayout, które używają parametru weight, co wymaga dwukrotnego pomiaru dziecka ...

W widoku względnym widoki są wyrównane albo z ich rodzicem, z samym RelativeLayout, albo inne poglądy. Na przykład zadeklarowaliśmy, że opis jest wyrównany z dolną częścią RelativeLayout i że tytuł jest umieszczony nad opisem i zakotwiczony na górze rodzica. Po opisie GONE, RelativeLayout nie wie, gdzie umieścić dolną krawędź tytułu. Aby rozwiązać ten problem, możesz użyć specjalnego parametru układu o nazwie alignWithParentIfMissing.

Ten parametr boolowski po prostu mówi RelativeLayout używać własnych krawędzie jak kotwice, gdy cel ograniczenie brakuje. Na przykład, jeśli umieścisz widok z prawej strony widoku GONE i ustawisz alignWithParentIfMissing na true, RelativeLayout zamiast tego zakotwicza widok do jego lewej krawędzi. W naszym przypadku użycie alignWithParentIfMissing spowoduje, że RelativeLayout dopasuje dno tytułu do własnego dołu.

... różnica będzie znacznie ważniejszy podczas korzystania z takiego układu dla każdego elementu w ListView na przykład ...

+0

https://www.crittercism.com/blog/android-performance-tip-1/ –

14

Dzięki nazwie można poznać liniowo w pionie lub w poziomie według orientacji ustawionej przez użytkownika. Dodaje widoki jeden po drugim, które będą zależeć od wymagań projektu. I RelativeLayout dodaje widok związany ze sobą, nie ma potrzeby deklarowania orientacji w RelativeLayout.

Jak na przykład chcesz dodać dwa TextView jedna pod drugą tak można dodać pierwszy TextView i skierować drugą TextView z pierwszym TextView dodając android:layout_below="first textview's id" w pliku XML. W ten sposób możesz poradzić sobie z RelativeLayout.

Powiązane problemy