Am folosit pentru a-pentru Vezi componentele utilizate OnClickListener și prins atingeri scurte. Acum, să încercăm să prindă atingere și deplasați degetul pe componenta. Ele constau din trei tipuri de evenimente:
- apăsând (ecranul tactil cu degetul)
- mișcarea (deplasarea degetului pe ecran)
- eliberare (deget tras departe de ecran)
Toate aceste evenimente vom fi capabili de a prinde handler OnTouchListener. care este atribuit View componente. Acest handler ne dă obiect MotionEvent. din care am extras tipul și locația evenimentului.
În această lecție considerăm doar o singură atingere. Un multi - în lecția următoare.
Numele proiectului. P1021_Touch
Build-țintă. Android 2.3.3
Numele aplicației. atinge
Numele pachetului. ru.startandroid.develop.p1021touch
Creare activitate. MainActivity
main.xml strings.xml și nu avem nevoie, nu le atinge.
MainActivity OnTouchListener implementeaza interfata pentru a efectua atinge handler.
OnCreate vom crea un nou TextView, să-l informeze că handler va atinge de activitate, și a pus pe ecran.
Interfață OnTouchListener presupune activitate implementează metoda lui onTouch. Metoda de intrare este View la care a fost atinge și obiect eveniment MotionEvent cu informații despre eveniment.
getX gety și metode ne dau coordonatele X și Y de atingere. Metoda getAction dă tipul de eveniment atingere:
ACTION_DOWN - presa
ACTION_MOVE - Mișcarea
ACTION_UP - eliberare
ACTION_CANCEL - aproape nu se întâmplă niciodată. Am înțeles că există în cazul unor defecțiuni interne, și ar trebui să trateze acest lucru ca ACTION_UP.
Dacă vom scrie în ACTION_DOWN sDown coordonatele de presare.
Dacă ACTION_MOVE scrie în sMove coordonatele poziției curente a degetului. Dacă ne mișcăm degetul pe ecran - acest text va fi în continuă schimbare.
In cazul in care ACTION_UP ACTION_CANCEL sau scrie în coordonate Sup de punctul în care a fost lansat degetul.
Toate acestea, la sfârșitul evenimentelor în TextView. Și se întoarce adevărat - ne ocupa de eveniment.
Acum vom muta degetul pe ecran (pe cursorul emulator) în anexă, iar ecranul va vedea coordonatele începutul mișcării, coordonatele curente și coordonatele la sfârșitul mișcării.
Toate salva și rula aplicația.

Pune degetul (cursor) pe ecran

Dacă noaptea trecută a fost un eșec, capul nu doare mâna este ferm și nu se cutremura :), apoi a apărut coordonatele presate.
În cazul în care o parte tremura, se va coordona, de asemenea mișcare.

Vom continua să se miște degetul și a vedea modul în care schimbă coordonatele Mutare.
Acum Păstrăm degetul pe ecran și a vedea coordonatele punctului în care sa întâmplat

În general, totul este simplu. Atunci când procesul de multi-touch este un pic complicat, se va urmări până la 10 atingeri.
În următoarea lecție:
- mâner atingere multiplă
Vino alaturi de noi in telegrama: