poniedziałek, 10 lutego 2014

Różne layouty w różnych orientacjach


Kod źródłowy do tej lekcji znajduje się tutaj. Rozpakuj go i zaimportuj. W katalogu z kodem źródłowym znajdą się podkatalogi oznaczone numerami. Są to po prostu kolejne wersje kodu, tworzonego w ramach przykładów. Możesz analizować kolejne kroki tworzenia aplikacji, lub od razu zabrać się za kod z katalogu o najwyższym numerku.

Ponieważ ekrany telefonów i tabletów z reguły nie są kwadratowe, a nasze aplikacje mogą działać zarówno w pionie jak i poziomie, warto byłoby uwzględnić takie dwie możliwości. Wbrew ostatnim trendom, w tym przypadku mamy wyłącznie dwie orientacje ;) Układ komponentów na ekranie projektowany dla orientacji pionowej, najprawdopodobniej „rozjedzie się”, gdy obrócimy ekran do orientacji pionowiej. Mamy możliwość zrobienia różnych layoutów, które będą używane w zależności od tego jak będziemy trzymać urządzenie. Jeśli pozostaniemy przy domyślnym jednym pliku layoutu, będzie on używany w obu przypadkach. Aby rozróżnić układ komponentów w zależności od sposobu trzymania telefonu, wystarczy dodać w katalogu res katalog o nazwie layout-land i w nim umieścić alternatywny plik layoutu. Wszystko odbywa się automatycznie.

 
W przypadku położenia pionowego, wczytywany będzie layout z katalogu layout, w przypadku poziomego z layout-land. Pamiętaj tylko, że w metodzie onCreate aktywności jest wskazywana nazwa pliku z layoutem, jeśli więc chcielibysmy aby to działało w założony sposób, musimy zadbać o to by oba pliki layoutu nazywały się tak samo.


setContentView(R.layout.activity_main);


2 komentarze: