poniedziałek, 10 lutego 2014

Szablony kolorów


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.

Jeśli zechcemy często używać w naszej aplikacji jakiegoś koloru, lub np. zrobić dwukolorową aplikację, możemy wszędzie podawać kodowo kolor np. #FF0033, albo stworzyć szablon i odwolywac się do koloru na zasadzie „kolor_tla”. Informacja o kodzie koloru dla „kolor_tla” znajduje się w osobnym pliku xml. Dzięki takiemu rozwiązaniu możemy szybko modyfikować kolory w całej aplikacji, np. jeśli zechcemy zrobić skórkę świąteczną dla naszego programu :)
Zaczynamy od utworzenia pliku xml w katalogu values będącym podkatalogiem katalogu res. Klikamy na nim PPM → new → new Android XML file. Wyskakuje nam takie okienko. Podajemy nazwę pliku i zatwierdzamy.


W pliku powinny znaleźć się wpisy podobne do tych:


To jest przypisanie koloru do nazwy. Gdziekolwiek w aplikacji odwołam się teraz @color/barbie, wyświetli mi się kolor #CC66FF. Łatwiej też będzie zmieniać kolorystykę aplikacji – wystarczy że zmienię kod koloru w tym pliku XML, a zmiana będzie obowiązywała dla wszystkich elementów gdzie odwołuję się do nazw z etego pliku. Przetestujemy działanie. Do ekranu przyklejam guziczka:

  
A w pliku layoutu tej aktywności odwołuję się do tych kolorów w taki sposób: @color/nazwa_koloru :

Przyjrzyj się limion 9 i 20. Odwołałem się po nazwach do wcześniej zdefiniowanych w pliku kolory.xml kolorów. W linii nr 9 ustawiłem tło dla ekranu, w linii nr 20 ustawiłem kolor dla przycisku.
Przełączam się teraz na widok projektowania graficznego i widzę to:



Wyszło paskudnie, chociaż wierzę że gdzieś na świecie są ludzie którzy mają dom urządzony w takich kolorach. Na szczęście w przypadku aplikacji na Androida (w przeciwieństwie do domu) można to łatwo i szybko zmienić.



3 komentarze:

  1. TO NIE DZIAŁA WYSKAKUJE MI BŁĄD

    OdpowiedzUsuń
    Odpowiedzi
    1. To już wszystko wiemy...

      Usuń
  2. Dzięki, wygląda to bardzo trudno ale postaram się ogarnąć co i jak.

    OdpowiedzUsuń