Podstawowe kontrolki i ich obsługa

Podobne dokumenty
Programowanie urządzeń mobilnych w systemie Android. Ćwiczenie 7 Wykorzystanie układu LinearLayout

Zdarzenia Klasa Application Powiadomienia Toast AlertDialog

Programowanie dla Androida. Ubiquitous

Programowanie urządzeń mobilnych. dr inż. Andrzej Grosser na podstawie wykładu dr inż. Juliusza Mikody

Rysowanie. Rysowanie - podstawy

Programowanie urządzeń mobilnych. dr inż. Juliusz Mikoda

Programowanie urządzeń mobilnych w systemie Android. Ćwiczenie 8 Wykorzystanie układu RelativeLayout

Programowanie Urządzeń Mobilnych. Laboratorium nr 9,10

Aktywności są związane z ekranem i definiują jego wygląd. Dzieje się to poprzez podpięcie do aktywności odpowiedniego widoku.

Systemy operacyjne na platformach mobilnych

Programowanie aplikacji na urządzenia mobilne

Programowanie aplikacji mobilnych

Powiadomienia w systemie Android

Podstawowe elementy GUI - zadania

AndroidManifest.xml. Plik manifestu opisuje podstawowe charakterystyki aplikacji i definiuje jej komponenty.

Ciekawym rozwiązaniem służącym do obsługi zdarzeń dla kilku przycisków w ramach jednej aktywności może być następujący kod:

[Android] Podstawy programowania

Tworzenie wydajnych interfejsów. Autorzy: Piotr Michałkiewicz, 2 rok AiR Daniel Maksymow, 2 rok Informatyki

Laboratorium 9 (Więcej Aktywności, w Androidzie)

Programowanie urządzeń mobilnych. dr inż. Andrzej Grosser na podstawie wykładu dr inż. Juliusza Mikody

Laboratorium 8 ( Android -pierwsza aplikacja)

akademia androida Intencje oraz URI część III

Instrukcja obsługi funkcji specjalnych szablonu C01 v.1.0

Mobilne aplikacje multimedialne

Skrócona instrukcja obsługi grupowego portalu głosowego

Informatyka I. Interfejs GUI wysokiego poziomu. Biblioteka Swing. Programowanie zdarzeniowe. Politechnika Warszawska Wydział Transportu 2018

Bazy danych raporty. 1. Przekopiuj na dysk F:\ bazę M5BIB.mdb z dysku wskazanego przez prowadzącego.

FORMULARZE Formularz ma formę ankiety, którą można wypełnić na stronie. Taki formularz może być np. przesłany pocztą elektroniczną .

Ćwiczenie 8. Kontrolki serwerowe

Kier. MTR Programowanie w MATLABie Laboratorium

Aplikacje internetowe

Android pierwsza aplikacja

dr Artur Bartoszewski dr Artur Bartoszewski - Aplikacje mobilne - Wykład

akademia androida Sensory część V Mobile Applications Developers

HTML ciąg dalszy. Listy, formularze

I. Spis treści I. Spis treści... 2 II. Kreator szablonów Tworzenie szablonu Menu... 4 a. Opis ikon Dodanie nowego elementu...

Formularze HTML. dr Radosław Matusik. radmat

Laboratorium programowania urządzeń mobilnych

Kolory elementów. Kolory elementów

Dodanie nowej formy do projektu polega na:

Layouty. Kilka layoutów

BAZY DANYCH. Microsoft Access NAWIGACJA, MENU I PARAMETRY WYSZUKIWANIA. Adrian Horzyk. Akademia Górniczo-Hutnicza

BAZY DANYCH MAKRA I PRZYCISKI. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza

Aplikacje mobilne. Pliki zasobów, grafiki, menu, podpinanie zdarzeń. dr Tomasz Jach Instytut Informatyki, Uniwersytet Śląski

Jak zarejestrować użytkownika w bazie systemu UONET+?

Rejestrowanie pracownika w bazie danych przez administratora. 1. Zaloguj się do systemu UONET+ jako administrator i uruchom moduł Administrowanie.

Tworzenie prezentacji w MS PowerPoint

xmlns:prism= c. <ContentControl prism:regionmanager.regionname="mainregion" />

Formularze w programie Word

Programowanie Obiektowe GUI

Zaawansowane aplikacje internetowe - laboratorium

Laboratorium 7 Blog: dodawanie i edycja wpisów

Menu Narzędzia w Edytorze symboli i Edytorze Widoku aparatów

Programowanie obiektowe

Jak zarejestrować użytkownika w bazie systemu UONET+?

Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.3

Zakładka Mapa. Kliknięcie zakładki "Mapa" spowoduje wyświetlenie panelu mapy:

GUI - projektowanie interfejsów cz. II

akademia androida Service, BroadcastReceiver, ContentProvider część IV

Budowa aplikacji wielowarstwowych zastosowanie szablonów. Laboratorium 2 Programowanie komponentowe Zofia Kruczkiewicz

Fragmenty są wspierane od Androida 1.6

Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.3

Ćwiczenie 7 - Formularze

Programowanie aplikacji mobilnych

1.Formatowanie tekstu z użyciem stylów

Jak zarejestrować użytkownika w bazie systemu UONET+?

Mobilny CRM BY CTI 1

Formularz MS Word. 1. Projektowanie formularza. 2. Formularze do wypełniania w programie Word

Aplikacje WWW - laboratorium

trainxx tramxx

Rozwiązanie ćwiczenia 8a

Prezentacja multimedialna MS PowerPoint 2010 (podstawy)

Podstawowe elementy GUI - zadania

LABORATORIUM 2 WSTĘP DO SIECI TELEINFORMATYCZNYCH TABELE I FORMULARZE

INSTRUKCJA OBSŁUGI PROGRAMU REJESTRACJI I AKWIZYCJI DANYCH REJESTRATOR 9.2

ECDL/ICDL Przetwarzanie tekstów Moduł B3 Sylabus - wersja 5.0

WSTĘP DO ANDROIDA. Laboratorium

Spis treści 1. Wstęp Logowanie Główny interfejs aplikacji Ogólny opis interfejsu Poruszanie się po mapie...

Życie aktywności Nawigując przez aplikacje poszczególne Aktywności przechodzą pomiędzy stanami. Dla przykładu gdy aktywność uruchamia się po raz

5. Tworzenie prostego kalkulatora

Laboratorium 050. Crystal Reports. Ćwiczenie 1. Otwarte pozycje

Makra Access 2003 wg WSiP Wyszukiwanie, selekcjonowanie i gromadzenie informacji Ewa Mirecka

Temat 3. Projektowanie interfejsu użytkonwnika Kalkulator pierwszy program dla IOS

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz. 1

WSTĘP DO ANDROIDA. Laboratorium 1 Systemy i aplikacje bez granic

DARMOWA PRZEGLĄDARKA MODELI IFC

Komponent Formularz. Rys. 1. Strona programu Joomla - Rys. 2. Instalacja komponentu

ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3

Przykładowa dostępna aplikacja w Visual Studio - krok po kroku

INSTRUKCJA UŻYTKOWNIKA PORTALU SIDGG

MS Access formularze

1.1 Zakładka Mapa. Kliknięcie zakładki "Mapa" spowoduje wyświetlenie panelu mapy:

Obsługa zdarzeń. Wykład 4

Sylabus Moduł 2: Przetwarzanie tekstów

Tworzenie bazy danych na przykładzie Access

1. Przypisy, indeks i spisy.

Warsztaty v2 Layout y i widget y. Tomasz Wachowski Kamil Snopek Jan Romaniak

SIECI KOMPUTEROWE I TECHNOLOGIE INTERNETOWE

Transkrypt:

Podstawowe kontrolki i ich obsługa Sebastian Batko, Jakub Piotrowski Katedra Informatyki Stosowanej Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie 23 listopada 2015

Spis treści Podstawowe kontrolki Pola tekstowe Przyciski

Wybrane kontrolki podstawowe pola tekstowe: etykiety pola edytowalne pola do wprowadzania hasła przyciski: tekstowe graficzne przyciski dwustanowe pola wyboru przyciski radiowe, grupy przycisków grafika

Pola tekstowe TextView Klasa: android.widget.textview Znacznik XML: < TextView... > Widok: służy do wyświetlenia tekstu i opcjonalnie jego edycji <TextView android:layout width="fill parent" android:layout height="wrap content" android:text="@string/name text" />

Pola tekstowe Wybrane atrybuty TextView android:capitalize - zamienia automatycznie znaki na duże android:inputtype - typ wprowadzanych danych android:lines - liczba wierszy w polu android:password - wprowadzany tekst będzie widoczny w postaci gwiazdek android:text - wyświetlony tekst android:textcolor - kolor tekstu android:textsize - rozmiar tekstu android:textstyle - styl tekstu (pogrubiony, kursywa,...)

Pola tekstowe EditText Klasa: android.widget.edittext - dziedziczy po TextView Znacznik XML: < EditText... > Widok: tworzy edytowalne pole tekstowe

Przyciski Button Klasa: android.widget.button - dziedziczy po TextView Znacznik XML: < Button... > Widok: reprezentuje przycisk. w wyniku jego kliknięcia/przyciśnięcia użytkownik może uruchomić jakąś akcję (atrybut android:onclick) <Button android:layout height="wrap content" android:layout width="wrap content" android:text="@string/self destruct" android:onclick="selfdestruct"/>

Przyciski Przyciski dwustanowe Klasa: android.widget.compoundbutton - klasa abstrakcyjna rozszerzająca Button Znacznik XML: - Widok: reprezentuje przycisk z dwoma stanami (zaznaczonym i niezaznaczonym). Po kliknięciu/wciśnięciu stan automatycznie się zmienia. stanowi szablon dla m.in: przycisków dwustanowych przycisków radiowych pola wyboru

Przyciski Pole wyboru Klasa: android.widget.checkbox - dziedziczy po CompoundButton Znacznik XML: < CheckBox... > Widok: reprezentuje pole wyboru z dwoma stanami. Atrybut android:checked przechowuje stan przycisku. <CheckBox android:id="@+id/chkrememberpassword" android:layout width="fill parent" android:layout height="wrap content" android:text="remember Password"/>

Przyciski Przycisk graficzny Klasa: android.widget.imagebutton - dziedziczy po ImageView Znacznik XML: < ImageButton... > Widok: reprezentuje zwykły przycisk (ze standardowym kolorem tła i zmieniającymi się kolorami dla różnych stanów), który zamiast opisu tekstowego ma grafikę. Grafikę wskazuje atrybut android:src. <ImageButton android:id="@+id/btnimg1" android:layout width="fill parent" android:layout height="wrap content" android:src="@drawable/icon" />

Przyciski ToggleButton Klasa: android.widget.togglebutton - dziedziczy po CompoundButton Znacznik XML: < ToggleButton... > Widok: przycisk reprezentujący stany włącz/wyłącz za pomocą wskaźnika świetlnego. Domyślnie wyświetla tekst ON/OFF. Można to zmienić za pomocą atrybutów: android:texton i android:textoff

Przyciski RadioButton Klasa: android.widget.radiobutton - dziedziczy po CompoundButton Znacznik XML: < RadioButton... > Widok: dwustanowy przycisk radiowy. Można go wcisnąć, ale nie można wycisnąć.

Przyciski RadioGroup Klasa: android.widget.radiogroup - dziedziczy po LinearLayout Znacznik XML: < RadioGroup... > Widok: kontener dla elementów <RadioButton>, służy do grupowania przycisków radiowych. Tylko jeden przycisk w grupie może być wciśnięty (identyfikowany jest on po id). Domyślnie początkowo żaden przycisk nie jest wciśnięty.

Przyciski Przykład użycia

Interakcja użytkownika z interfejsem Użytkownik może reagować na powiadomienia (zdarzenia) pochodzące od: aktywności widoku Na poziomie aktywności polega to na nadpisaniu wybranych metod z klasy Activity Najczęściej są to: onkeydown - wołana, gdy został naciśnięty klawisz i nie został obsłużony przez żaden z widoków aktywności onkeyup - j.w., gdy klawisz został zwolniony onmenuitemselected - wołana, gdy został wybrany element panelu menu onmenuopened - wołana, gdy został otwarty panel menu

onkeydown @Override public boolean onkeydown(int keycode, KeyEvent event) { switch (keycode) { case KeyEvent.KEYCODE DPAD CENTER: // wcisniety klawisz CENTER case KeyEvent.KEYCODE DPAD LEFT: // wcisniety klawisz STRZALKA W LEWO case KeyEvent.KEYCODE DPAD RIGHT: // wcisniety klawisz STRZALKA W PRAWO case KeyEvent.KEYCODE DPAD UP: // wcisniety klawisz STRZALKA W GORE case KeyEvent.KEYCODE DPAD DOWN: // wcisniety klawisz STRZALKA W DOL } return false; }

Zdarzenia widoków Widoki mogą być źródłem zdarzeń Z każdym takim zdarzeniem związany jest w klasie View interfejs nasłuchujący (tzw. event listener), definiujący pojedynczą metodę zwrotną (callback method) W wyniku interakcji użytkownika z UI, metody te będą wywoływane przez framework Androida, dla tych widoków, dla których zostały zarejestrowane

Metody nasłuchujące // i n t e r f e j s View. O n C l i c k L i s t e n e r : p u b l i c void o n C l i c k ( View v ) // i n t e r f e j s View. O n L o n g C l i c k L i s t e n e r : p u b l i c boolean o n L o n g C l i c k ( View v ) // i n t e r f e j s View. OnFocusChangeListener : p u b l i c void onfocuschange ( View v, boolean hasfocus ) // i n t e r f e j s View. OnKeyListener : p u b l i c boolean onkey ( View v, i n t keycode, KeyEvent e v e n t ) // i n t e f e j s View. OnTouchListener : p u b l i c boolean ontouch ( View v, MotionEvent e v e n t ) // i n t e r f e j s View. OnCreateContextMenuListener : p u b l i c void oncreatecontextmenu ( ContextMenu menu, View v, ContextMenu. ContextMenuInfo menuinfo )

Metoda onclick Implementacja interfejsu związanego ze zdarzeniem onclick: p r i v a t e O n C l i c k L i s t e n e r b t n L i s t e n e r = new O n C l i c k L i s t e n e r ( ) { p u b l i c void o n C l i c k ( View v ) { Toast. maketext ( g e t B a s e C o n t e x t ( ), ( ( Button ) v ). gettext ( ) + was c l i c k e d, Toast. LENGTH LONG). show ( ) ; } } ;

Rejestracja obsługi zdarzenia Rejestracja obsługi zdarzenia dla widoku: protected void oncreate ( Bundle s a v e d V a l u e s ) { //... Button btn = ( Button ) f i n d V i e w B y I d (R. i d. btn ) ; btn. s e t O n C l i c k L i s t e n e r ( b t n L i s t e n e r ) ; //... }

Obsługa grup przycisków W przypadku grup przycisków radiowych należy zaimplementować interfejs RadioGroup.OnCheckedChangeListener, np.: RadioGroup rg = ( RadioGroup ) f i n d V i e w B y I d (R. i d. rg ) ; rg. s e t O n C h e c k e d C h a n g e L i s t e n e r (new OnCheckedChangeListener ( ) { p u b l i c void oncheckedchanged ( RadioGroup group, i n t c h e c k e d I d ) { RadioButton rb = ( RadioButton ) f i n d V i e w B y I d ( c h e c k e d I d ) ; Toast. maketext ( g e t B a s e C o n t e x t ( ), rb. gettext ( ) + was } }) ; checked, Toast. LENGTH LONG). show ( ) ;

Ćwiczenie Jako ćwiczenie proszę wykonać implementację prostego kalkulatora.

Dziękujemy za uwagę