2 marzo 2012

Gesti composti con Gestures Builder

Recentemente ho cominciato ad approfondire alcuni aspetti un po' più avanzati delle API Android e tra questi mi ha subito incuriosito la possibilità di creare gesti personalizzati attraverso il Gestures Builder, uno strumento presente all'interno dell'emulatore che viene caricato automaticamente all'avvio se si è aggiunta una scheda di memoria SD virtuale al sistema emulato.
L'utilizzo del Gestures Builder e dei metodi per riconoscere i gesti personalizzati è spiegato molto bene in questo tutorial presente sul sito ufficiale per sviluppatori, per cui eviterò una descrizione approfondita di tali aspetti in questa sede.
Ho però riscontrato alcune difficoltà nell'utilizzo del Gestures Builder (altrimenti che scrivevo a fare questo post? ^_^) una volta che ho voluto cimentarmi con l'utilizzo di gesti composti. Per gesti composti intendo tutti quei gesti che per essere eseguiti hanno bisogno che il dito si alzi dalla superficie touch e si posi ad un certa distanza. Pensate a come disegnereste un " + " o una " x ". Ecco, questi gesti!

Ovviamente sul sito ufficiale nemmeno l'ombra di una spiegazione, perché evidentemente il problema non si dovrebbe nemmeno porre. In teoria i gesti composti vengono tranquillamente rilevati dal tool e salvati, esattamente come tutti gli altri gesti. In realtà, a meno di essere davvero veloci, risulta molto difficile create gesti composti attraverso il mouse su emulatore e quindi il primo pezzo del nostro gesto scomparirà prima di riuscire a completare l'operazione.
La soluzione è abbastanza semplice, ma per risolvere il problema dovrete scaricare gli esempi forniti attraverso SDK Manager per la versione delle API con cui state sviluppando l'applicazione.
Se siete interessati alla spiegazione originale che ho utilizzato per questo mini-tutorial, la potete trovare qui

UNO: LOCALIZZARE I SORGENTI DI GESTURES BUILDER
Una volta scaricati gli esempi, in inglese "sample for SDK", dovrete andare a cercare la cartella in cui sono stati salvati. Generalmente si trovano all'interno della cartella dell'SDK sotto:
samples/android-#/ 
dove # sta per la versione di API che state utilizzando. All'interno troverete una cartella chiamata Gestures Builder: quelli sono i sorgenti del tool.

DUE: IMPORTARE I SORGENTI COME PROGETTO ANDROID
Per importare i sorgenti all'interno di Eclipse create un nuovo progetto del tipo "Android Sample Project". Eclipse vi aiuterà con una creazione guidata del progetto. Seguitela e vi ritroverete a scegliere direttamente il sorgente per il Gestures Builder.

TRE: MODIFICARE IL FILE create_gesture.xml
A questo punto aprite il file res/layout/create_gesture.xml, trovate l'elemento android.gesture.GestureOverlayView ed aggiungete tra i parametri android:fadeOffset="1000".  Nel mio caso ho scelto di inserire un'attesa di 1 secondo (1000ms = 1s) prima della scomparsa del precedente gesto, ma potete inserire un valore a piacimento.
Salvate e avviate il progetto sull'emulatore.

A questo punto siete pronti per seguire il tutorial ufficiale e creare tutti i vostri bellissimo gesti composti :)

1 commento:

  1. Ciao, anche io sto seguendo il corso sulla programmazione delle self driving car su udacity. Se ti va di scambiare qualche idea mi trovi su fb come marco vincisgrassi o sul forum udacity come Marco.
    Buona giornata

    RispondiElimina