Part 2 – DockedItems e Items
Bene, ora che abbiamo capito come definire i componenti “Docked”, vi propongo alcuni esempi che dovrete tenere sempre a mente quando realizzerete le vostre applicazioni Sencha Touch. Questi esempi infatti, vi consentiranno di comprendere come viene ripartito lo spazio disponibile sullo schermo del vostro mobile device, nel caso in cui venissero definiti più di un DockedItem sia sullo stesso margine, che su margini differenti. Alcuni esempi potranno sembrarvi scontati e banali, ma è fondamentale che comprendiate come vengono posizionati i DockedItems in modo tale da impostare il layout delle vostre applicazioni nel modo migliore possibile tra i tanti messi a disposizione dal framework. Ma come al solito, basta perdersi in chiacchiere e diamo subito un’occhiata al primo esempio della serie.
Definizione di 3 pannelli ancorati sul margine superiore
Ext.setup({
onReady: function() {
var panel = new Ext.Panel({
fullscreen: true,
dockedItems: [{
dock: 'top',
html: 'Panel 1',
height: 30,
style: 'background-color: #7d8cff'
},{
dock: 'top',
html: 'Panel 2',
height: 30,
style: 'background-color: #f6685e'
},{
dock: 'top',
html: 'Panel 3',
height: 30,
style: 'background-color: #b5ffbf'
}]
});
}
});
Diamo un’occhiata allo screenshot che segue per avere un’idea del risultato ottenuto.

In questo esempio noterete che i tre pannelli ancorati sullo stesso margine superiore, vengono ovviamente creati con lo stesso ordine con il quale sono stati definiti, occupando la medesima dimensione. Cosa c’è di strano vi starete chiedendo! Per ora nulla, ma continuate a dare un’occhiata agli esempi che seguono per capire il perchè di questo banale esempio. Prendiamo ora lo stesso esempio appena proposto e modifichiamo solamente il valore “height” di tutti i pannelli definiti da valore numerico fisso ad un valore percentuale pari a “30%” ed osserviamo il risultato.

Anche in questo caso l’esempio potrebbe sembrare scontato, ma questo è utile a farvi capire che il valore percentuale specificato è calcolato sempre sulla dimensione totale dello schermo e non sullo spazio disponibile lasciato vuoto dai precedenti DockedItems definiti.. Ripeto, può sembrare banale, ma siccome mi è stata fatta più volte questa domanda, è meglio metterlo in chiaro.
Bene, ora diamo invece un’occhiata all’ultimo esempio che vi aiuterà a capire come verranno disposti i vari DockedItems, nel caso in cui questi vadano ad essere agganciati a margini perpendicolari tra loro.
Definizione di 2 pannelli ancorati su margini perpendicolari tra loro
Ext.setup({
onReady: function() {
var panel = new Ext.Panel({
fullscreen: true,
dockedItems: [{
dock: 'top',
height: 60,
style: 'background-color: #7d8cff'
},{
dock: 'left',
width: 60,
style: 'background-color: #f6685e'
}]
});
}
});
Osserviamo a questo punto da vicino il risultato ottenuto.

Come avrete sicuramente notato in questo esempio, il pannello ancorato sul bordo superiore della videata, va ad occupare tutto lo spazio disponibile in larghezza, mentre quello ancorato sul bordo sinistro va ad occupare lo spazio rimanente lasciato libero dal precedente pannello. Si può a questo punto facilmente intuire che, nel caso di DockedItems posizionati su margini perpendicolari tra loro, lo spazio disponibile verrà ripartito secondo l’ordine di priorità con i quali questi sono stati definiti.. Molto bene! Ora che questi semplici concetti di base sui DockedItems sono stati chiariti, direi che possiamo passare a qualcosa di più interessante e senz’altro utile. Sicuramente vi sarete fatti la domanda (o ve la farete in futuro) di come sia possibile poter aggiungere e/o rimuovere DockedItems dinamicamente durante l’esecuzione della vostra applicazione, magari cliccando su un semplice pulsante della vostra interfaccia. Ho suscitato la vostra curiosità non è vero
. Beh mi sambra logico, quindi seguitemi nella prossima lezione per capire come poter iniziare a dare un po di vita alle vostre applicazioni Sencha Touch conferendogli un tocco di dinamicità in più.






2011-06-20 @ 3.23 pm
Aspetto (pensa aspettiamo) con ansia le nuove puntate … grazie per il lavoro.
2011-07-01 @ 10.03 am
Non ti sarai mica dimenticato di noi??
Aspetto anche io le prossime lezioni!
Come sempre, grazie
PS piccola domanda: una volta installato mamp sul computer in locale e avviato il server, non è possibile collegarsi con l’ipad e vedere le pagine in htdocs? Mi spiego meglio, mamp non ha un indirizzo raggiungibile dai computer collegati nello stesso network?
2011-07-01 @ 3.14 pm
Ciao Drake!
.
. Nota bene: se hai un iPad wifi + 3G assicurati di aver disattivato il 3G prima di procedere con le operazioni sopra elencate, altrimenti potresti non essere in grado di raggiungere il tuo Mac. Spero di esserti stato di aiuto. A presto
No, non preoccuparti non mi sono dimenticato di voi, in questo periodo sono molto impegnato, quindi cerchero’ di postare nuove lezioni appena avro’ un secondo di respiro
Rispondendo alla tua domanda: puoi raggiungere senza problemi le pagine htdocs della una installazione MAMP dal tuo iPad, semplicemente occorre che sia il tuo Mac sia il tuo IPad siano collegati alla stessa rete wifi, dopodiché ottieni l’indirizzo IP del Mac e insieriscilo all’interno di una nuova scheda di Safari sul tuo IPad ed il gioco e’ fatto
2011-08-04 @ 1.57 pm
Volevo farti i complimenti. Dopo aver usato Joomla per lo sviluppo di siti, cercavo qualcosa per le applicazioni mobili e grazie a te ho scoperto Sencha. Anche io aspetto le tue prossime lezioni.
2011-08-04 @ 3.25 pm
Ciao Steven, benvenuto e grazie dei complimenti!
Mi fa piacere di esserti stato di aiuto.
Se devi avviare lo sviluppo di applicazioni orientate al mondo mobile, Sencha Touch è sicuramente la scelta migliore. Questo framework infatti, oltre a garantirti il pieno supporto di HTML5 e CSS3, ti permette con poche righe di codice, e in poco tempo, di creare applicazioni complete e soprattutto commercializzabili.
Certo, riuscire ad inquadrare bene il Framework all’inizio può risultare un po complicato, specialmente se non si possiede una conoscenza base di Javascript, ma vedrai che entro poco tempo riuscirai a familirizzare con il codice, e allora l’unica limitazione sarà la tua creatività
.
A breve spero di pubblicare qualche nuova guida, così da potervi aiutare a creare la vostra prima vera applicazione Sencha Touch.
Ciao Steven a presto!
2012-02-29 @ 12.01 pm
Ciao Andrea, complimenti di nuovo soprattutto per il tuo stile molto chiaro. Peccato che non ho visto ancora nuove lezioni ma avrai sicuramente i tuoi legittimi motivi. Quindi mi auguro che tu possa continuare con questo magnifico tutorial il più presto possibile. A prestissimo!
2012-02-29 @ 12.31 pm
Ciao Gianluca, ti ringrazio innanzitutto per i complimenti!
Purtroppo hai ragione, il tempo è tiranno e al momento non ne ho molto disponibile da poter dedicare alla scrittura di nuovi tutorials. Ultimamente però, ne no scritti alcuni nuovi su Sencha Touch 2.
Gli hai già dato un’ occhiata?
Ciao a presto Gianluca!