mercoledì 23 febbraio 2011

Android, NinePatchDrawable



La risorsa NinePatch, tag nine-patch nei file xml, descrive un'immagine di sfondo (scomposta in 9 pezzi) che può essere estesa su uno o più dei suoi lati. Decidiamo noi i lati da estendere, con il tool draw9patch fornito assieme al SDK di Android. In molti casi è preferibile seguire questo approccio piuttosto che estendere l'intera immagine al display (come è stato fatto nella seconda immagine). Possiamo ottenere un riferimento alla risorsa nel codice con la sintassi R.drawable.resource_name, nei file xml con @drawable/resource_name (il nome dato al file costituisce l'id per la risorsa). L'attributo android:src ci permette di specificare la risorsa di tipo Drawable, con android:dither, invece, possiamo abilitare o meno l'effetto dithering all'immagine (rispettivamente con i valori true e false).
Il codice sorgente dell'esempio è disponibile qui. Nella cartella res/drawable/ c'è il file second_image.9.png (notate la particolarità dell'estensione, il riferimento alla risorsa sarà @drawable/second_image). Nella stessa cartella il file background.xml descrive la risorsa di tipo NinePatchDrawable. Quindi, in main.xml, nella cartella res/layout/, viene utilizzata la risorsa appena definita attraverso l'attributo android:background="@drawable/background" del layout applicato all'activity.
Potete installare questa applicazione sul vostro dispositivo Android anche attraverso il seguente codice QR:

qrcode

Nessun commento:

Posta un commento