Porównanie układów LinearLayout, RelativeLayout oraz TableLayout

1. Wstęp

Podczas tworzenia aplikacji w Android Studio bardzo ważnym elementem jest odpowiednie rozmieszczenie elementów interfejsu użytkownika. Do tego celu wykorzystuje się tzw. layouty (układy). To one decydują o tym, gdzie na ekranie pojawią się przyciski, teksty, obrazy i inne komponenty.

W tej lekcji porównamy trzy podstawowe typy układów:

  • LinearLayout
  • RelativeLayout
  • TableLayout

Każdy z nich działa inaczej i nadaje się do innych zastosowań.


2. LinearLayout – układ liniowy

LinearLayout to najprostszy i najczęściej używany układ. Umożliwia ustawienie elementów w jednej linii:

  • pionowo (vertical)
  • poziomo (horizontal)

Cechy charakterystyczne:

  • elementy ustawiane są jeden po drugim,
  • łatwy do zrozumienia i użycia,
  • można używać weight, aby dzielić przestrzeń między elementy,
  • nie nadaje się do bardziej skomplikowanych układów (wymaga zagnieżdżania wielu layoutów).

Przykład zastosowania:

  • lista przycisków jeden pod drugim,
  • formularz (np. login i hasło),
  • prosty ekran menu.

3. RelativeLayout – układ względny

RelativeLayout pozwala ustawiać elementy względem siebie lub względem rodzica (czyli całego ekranu).

Cechy charakterystyczne:

  • elementy mogą być ustawione np.:

    • pod innym elementem (below),
    • nad (above),
    • obok (toRightOf, toLeftOf),
    • na środku (centerInParent),
  • bardziej elastyczny niż LinearLayout,
  • pozwala tworzyć bardziej złożone interfejsy,
  • trudniejszy do opanowania dla początkujących.

Przykład zastosowania:

  • przycisk w prawym dolnym rogu,
  • obrazek z tekstem pod nim,
  • formularz z elementami rozmieszczonymi niestandardowo.

4. TableLayout – układ tabelaryczny

TableLayout organizuje elementy w formie tabeli (wiersze i kolumny).

Cechy charakterystyczne:

  • składa się z wierszy (TableRow),
  • każdy wiersz może zawierać kilka elementów (kolumny),
  • przypomina strukturę tabeli znanej z HTML,
  • dobra do danych uporządkowanych w siatce.

Przykład zastosowania:

  • formularze w stylu „etykieta + pole”,
  • wyświetlanie danych w tabeli,
  • kalkulatory, zestawienia.

5. Porównanie layoutów

LinearLayout:

  • najprostszy
  • szybki do użycia
  • ograniczony do jednej osi

RelativeLayout:

  • bardziej zaawansowany
  • elastyczne pozycjonowanie
  • większa kontrola nad układem

TableLayout:

  • układ w formie tabeli
  • dobry do danych uporządkowanych
  • mniej uniwersalny niż pozostałe

6. Kiedy używać którego layoutu?

  • LinearLayout – gdy elementy mają być ustawione w jednej linii (np. lista).
  • RelativeLayout – gdy potrzebujesz precyzyjnego rozmieszczenia elementów.
  • TableLayout – gdy dane mają strukturę tabeli (wiersze i kolumny).

7. Podsumowanie

Każdy layout w Androidzie ma swoje zastosowanie. Wybór odpowiedniego układu wpływa na czytelność kodu, wygląd aplikacji oraz łatwość dalszego rozwoju projektu. Dobrą praktyką jest dobieranie layoutu do konkretnego problemu, zamiast używania jednego typu do wszystkiego.


8. Ćwiczenie podsumowujące (opisowe)

Zadanie:

Wyobraź sobie, że masz stworzyć aplikację zawierającą:

  • ekran logowania (login + hasło + przycisk),
  • panel użytkownika z przyciskiem w prawym dolnym rogu,
  • tabelę z wynikami uczniów (imię, nazwisko, ocena).

Twoje zadanie: Opisz (minimum 8–10 zdań), który layout zastosujesz w każdej z tych trzech sytuacji (LinearLayout, RelativeLayout, TableLayout) oraz uzasadnij swój wybór.

W odpowiedzi uwzględnij:

  • sposób rozmieszczenia elementów,
  • dlaczego dany layout jest najlepszy,
  • co by się stało, gdybyś użył niewłaściwego layoutu.