Tworzenie layoutu w Androidzie

Jedną z rzeczy, która mnie bardzo pozytywnie zaskoczyła w pisaniu aplikacji na Androida jest sposób tworzenia layoutu. Chodzi mianowicie o separacje pomiędzy logiką aplikacji, a wartwą prezentacji, która jest opisywana w plikach XML.

Stworzenie aktywności z menu rozwijanym z boku może wyglądać następująco.

activity_main.xml

app_bar_main.xml

content_main.xml

 

Wydaję mi się, że tworzenie elementów layoutu jest na tyle intuicyjne, że nie będę szczegółowo opisywał co się dokładnie dzieje w powyższych listingach.

Jest jednak jednak jedna rzecz, na którą chciałbym zwrócić uwagę. Wewnątrz activity_main.xml umieszczany jest app_bar_main.xml, wewnątrz którego umieszczony jest content_main.xml.

Pierwsze dwa pliki są odpowiedzialne za tworzenie aktywności z bocznym menu, natomiast trzeci plik – content_main.xml – zawiera layout specyficzny dla konkretnego ekranu.

I teraz pojawia się problem, którego nie udało mi się rozwiązać w elegancki sposób.

Tworzę drugą aktywność, która ma zawierać to samo menu, lecz sam ekran ma mieć inną zawartość. I teraz, żeby to zrobić muszę skopiować dwa pierwsze layouty odpowiedzialne za menu, zmienić nazwy plików i wartości atrybutów w samych plikach. Podejście to oczywiście działa, lecz generuje sporo plików, które są praktycznie identyczne.

Rzeczą, która by się tutaj mogła przydać byłaby możliwość podania parametrów, które były by przekazywane do załączanego layoutu. Mam na myśli rozwiązanie podobne do tego, które jest dostępne np. w JSF.

Niestety, póki co nie udało mi się znaleźć rozwiązania tego problemu i w związku z tym, póki co zostaje z moim rozwiązaniem.

2 przemyślenia nt. „Tworzenie layoutu w Androidzie”

  1. W content_main utwórz kontener na fragment i zamieniaj fragmenty dynamicznie. Możesz też utworzyć jeden fragment a zamieniać adapter albo tylko dane. Pozdrawiam.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *