Nowa wersja
|
Poprzednia wersja
Nowa wersja
Both sides next revision
|
pl:dydaktyka:aml:lab2 [2013/09/26 09:12] esimon utworzono |
pl:dydaktyka:aml:lab2 [2013/10/20 11:44] esimon [Fragmenty i nawigacja] |
====== MVC w Androidzie ====== | ====== MVC w Androidzie ====== |
// zaadaptuj aplikację Quiz tak, żeby działała dobrze zarówno na telefonie jak i na tablecie | |
// dodaj view Pagera tak, żeby pytania można było przesuwać gestem swipe - każde pytanie to fragment | |
// Dodaj List view z ustawieniami profilu dla poszczegolnych miejsc. Przenieś opcje star tracker, stop tracker do menu Settings. | ===== Style ===== |
| Wygeneruj dodatkowy styl dla elementu Button i zaadaptuj go do aplikacji Quiz, którą pisałeś na poprzednich zajęciach. |
| Możesz użyć [[http://android-ui-utils.googlecode.com/hg/asset-studio/dist/index.html|Asset studio]], lub możesz uzyć programu graficznego do edycji istniejącego przycisku i dodania elementów odpowiedzialnych za poszczególne stany guzika. |
| |
| {{:pl:dydaktyka:aml:button-states.png|}} |
| ===== Fragmenty i nawigacja ===== |
| Dodaj ViewPagera do layoutu aplikacji Quiz tak, aby można było pytania przesuwać gestem swipe. (pamiętaj, że każde pytanie powinno być zaimplementowane jako Fragment). |
| |
| **Uwaga** Możesz posiłkować się kodem z projektu [[https://bitbucket.org/sbobek/aml_ambientprofile|Ambient Profile]] |
| |
| {{:pl:dydaktyka:aml:swipe.png?500|}} |
| |
| |
| Możesz pomyśleć nad wykorzystaniem dodatkowej przestrzeni tabletu w orientacji landscape do tego, żeby po lewej stronie wyświetlać listę pytań. **Uwaga** Możesz wykorzystać wizarda tworzenia nowej aktywności ;) |
| |
| |
| |
| |
| ===== Optymalizacja interfejsu ===== |
| Zbadaj swoje aplikacje przy użyciu HierarchyViewera i Linta. Jeśli nie udało Ci się ukończyć aplikacji Quiz, możesz wykorzystać [[https://bitbucket.org/sbobek/aml_ambientprofile|Ambient Profile]] |
| |
| {{:pl:dydaktyka:aml:hierarchy-viewer.png?400|}} |
| |
| W przypadku Linta w szczególności zwróć uwagę na: |
| * Zagnieżdżenia layoutów i możliwość zastąpienia ich RelativeLayout |
| * Wykorzystanie parametru compoundDrawable zamiast TextView i ImageView (patrz aml_ambientprofile) |