Grafica Android Mobile Programming Prof. R. De Prisco

Documenti analoghi
L interfaccia grafica in Java

I Canvas. import java.awt.*; import javax.swing.*; public class Graf{ public Graf () { JFrame f = new JFrame("Finestra"); // crea frame invisibile

Android. Implementare una interfaccia utente

Programmazione Android. Luca Morettoni

Ciclo di vita delle aevità Android Mobile Programming Prof. R. De Prisco

SCENARIO. Personas ALICE Lucchin / BENITO Condemi de Felice. All rights reserved.

Elemen& grafici. Albero delle view. Device Monitor AA 2014/15. hierarchyviewer comando della cartella tools

Android. Custom View.

Programmazione. Android

La struttura dati ad albero binario

Mobile Programming. Prova scritta del 10/02/2017. Prof. De Prisco. Corso di laurea in Informatica

Funzioni in C. Violetta Lonati

Mobile Programming. Prova scritta del 28/01/2015. Prof. De Prisco. Corso di laurea in Informatica

Protezione. Protezione. Protezione. Obiettivi della protezione

STRUTTURA E INTERFACCIA

INTERNET e RETI di CALCOLATORI A.A. 2011/2012 Capitolo 4 DHCP Dynamic Host Configuration Protocol Fausto Marcantoni fausto.marcantoni@unicam.

Android. Adapter e ListView. diegozabot@yahoo.it

ISTRUZIONI PER LA GENERAZIONE DELLA FATTURA ELETTRONICA PER LA PUBBLICA AMMINISTRAZIONE

Macromedia Flash. Realizzato da Emanuela Scionti

Sistemi Mobili e Wireless Android Activity

GESTIONE DEI PROCESSI

Realizzazione siti web. Le immagini

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

Modulo 4: Ereditarietà, interfacce e clonazione

Settaggio impostazioni tema. Cliccando nuovamente su aspetto e poi su personalizza si avrà modo di configurare la struttura dinamica della template.

Compilatore risorse display grafico LCD serie IEC-line

Guida all utilizzo del forum di direzionebandacs.altervista.org

Progetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Manuale Amministratore

RISOLUTORE AUTOMATICO PER SUDOKU

7.4 Estrazione di materiale dal web

SIMPLY JOB. Progetto per il corso di Programmazione III e Laboratorio A.A Realizzato da: Massimo Buonocore

Lezione 9 Liste, tabelle, caselle di scelta e gallerie di immagini

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale

Import Sisam. Manuale utente. Maggio Sistema di raccolta dei dati statistici in ambito Socio-Assistenziale Minori

!"#$%&&'()#*%+%+!"#$"',,'()#*%+ -")%*&'&'+'$.)+-$$%&&) !"#$%&&'(%)'*+%",#-%"#.'%&'#/0)-+#12"+3,)4+56#7+#.')8'9

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 18 31/03/2014

Laboratorio di Sistemi Distribuiti Leonardo Mariani

PointCloud 7.0 Anno 2011

7. Layer e proprietà degli oggetti

Inizializzazione, Assegnamento e Distruzione di Classi

Istruzioni modulistica Elenco associazioni professionali

Per informazioni rivolgersi allo Studio:

Blue s One CTI Enterpris Blue s Attendant Pro/Enterprise SDK - plugin creating tools

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1)

Technical Document Release Version 1.0. Product Sheet. MediaList. Creazione e gestione palinsesto giornaliero

SVILUPPO APP per Eventi, Attività promozionali e Guide turistiche LISTINO PREZZI 2016

La Videosorveglianza Criteri per il dimensionamento dello storage

Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main

XSL: extensible Stylesheet Language

MOBILE WEB DESIGN TUTORIAL ANDROID METAIO AUGMENTED REALITY

Sviluppo di processi per l automatizzazione del testing per applicazioni Android

QUICK GUIDE - AXIOS SIDI CONTABILITA (Area Nuovo Bilancio/Contabilità ver o succ. SPLIT PAYMENT)

IL SOFTWARE. Giada Agostinacchio Classe 2^ Beat ISIS G.Meroni Lissone Anno Scolastico 2007/2008

Finalità della soluzione Schema generale e modalità d integrazione Gestione centralizzata in TeamPortal... 6

FONDAMENTI di INFORMATICA L. Mezzalira

Concetto di Funzione e Procedura METODI in Java

PROGETTAZIONE MECCANICA DESIGN INDUSTRIALE OUTSOURCING RICERCA E SVILUPPO GRAFICA DOCUMENTAZIONE TECNICA STUDIO TECNICO

Istruzioni per l uso dei programmi MomCad, TraveCon, TraveFon

ZEROTRUTH & ASTERISK. ZEROTRUTH AUTOREGISTRAZIONE CON ASTERISK

ISTRUZIONI INSTALLAZIONE PMANGO

Lavorare con le immagini

(Esercizi Tratti da Temi d esame degli ordinamenti precedenti)

Algoritmi e strutture dati. Codici di Huffman

Gestione Risorse Umane Web. Gestione della foto in stampa unione. Versione V01

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo

Una funzione è detta ricorsiva se chiama, direttamente o indirettamente, se stessa. In C tutte le funzioni possono essere usate ricorsivamente.

Internet e posta elettronica. A cura di Massimiliano Buschi

BRESCIA - Via Cefalonia, 38 - Tel Fax info@nordcomputers.it.

INFORMATICA 1 L. Mezzalira

UML Diagrammi delle classi. UML Diagramma classi 1

Gestione dei documenti e delle registrazioni Rev. 00 del

Università degli Studi di Ferrara - A.A. 2014/15 Dott. Valerio Muzzioli ORDINAMENTO DEI DATI

Cookie. Krishna Tateneni Jost Schenck Traduzione: Luciano Montanaro

Sistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1

Sistemi Operativi. Memoria Secondaria GESTIONE DELLA MEMORIA SECONDARIA. Struttura del disco. Scheduling del disco. Gestione del disco

Ipertesti e Internet. Ipertesto. Ipertesto. Prof.ssa E. Gentile. a.a

Ricorsione. Rosario Culmone. - p. 1/13

Pagina 2 di 14. Indice

PROGETTO DI APPLICAZIONI MOBILI INTERATTIVE. Emanuele Panizzi

TachyCAD 8.0 Anno 2010

del 30 novembre 2010

Integrazione InfiniteCRM - MailUp

Algoritmi per suddividere il testo in righe in un editor di testo

File system II. Sistemi Operativi Lez. 20

Registri RMI. Massimo Merro Univ. Verona Programmazione di Rete 90 / 247

Linea guida di inserimento dati Antiriciclaggio-XP DM-141

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI

Word processor funzione Stampa Unione

SOMMARIO Gruppo 4 - All right reserved 1

Gestione Risorse Umane Web

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

Ottava Esercitazione. introduzione ai thread java mutua esclusione

[MANUALE VISUAL BASIC SCUOLA24ORE PROF.SSA PATRIZIA TARANTINO] 14 dicembre 2008

Asso. Con ordine si procederà ad esplorare il software.

La Stampa Unione. Individuare la lista indirizzi per la Stampa Unione

Costruzione del layout in gino cms

[AD.AGIO] ANDROID SDK

FIRESHOP.NET. Gestione completa delle fidelity card & raccolta punti. Rev

Transcript:

Grafica Un immagine può essere disegnata in un oggejo View grafica semplice, senza necessità di cambiameno un oggeto Canvas grafica complessa, aggiornameno frequeno 144 Classe Drawable rappresenta un oggejo che può essere disegnato un immagine, ma anche un colore, una forma, etc ShapeDrawable una forma BitmapDrawable una matrice di pixels ColorDrawable un colore (uniforme) Grafica 145 L oggejo Drawable deve essere inserito nell oggejo View direjamente nel file XML in modo programmaoco View.setImageDrawable() GraficaSimpleImg 1

Animazioni 146 Android permeje di definire delle animazioni da applicare alle immagini DescriJe con file XML rotazione traslazione scaling (dimensione) trasparenza con controllo di vari parametri es., punto di pivot, velocità, etc. Animazioni 147 Class AnimaOon permeje di leggere le animazioni dai file XML applicarle alle ImageView GraficaImgAnim 2

Custom Views 148 Android ha molo widget PulsanO, Liste, ImageView, etc, etc. Per esigenze parocolare possiamo definire dei widget personalizzao PermeJono un maggiore controllo sulla grafica ovviamente sono più complicao da usare Albero delle View 149 LinearLayout ImageView Frame LinearLayout EditText RelaOveLayout BuJon BuJon BuJon ImageView public class View { public void onmeasure() public void onlayout() 3

Meccanismo di layout Container Views RelaOveLayout LinearLayout 150 Il meccanismo di layout inizia quando viene chiamato il metodo requestlayout su una View dell albero solitamente un widget chiama requestlayout quando ha bisogno di altro spazio requestlayout meje un evento nella coda degli eveno UI Quando l evento viene processato, ogni container view ha la possibilità di interagire con i figli Meccanismo di layout 151 Il processo ha due fasi 1. misura delle views contenuto nel container 2. posizionamento delle views all interno del container TuJe le view devono implementare la fase 1 Sole le view container devono avere anche la fase 2 4

Misura La fase di misura offre la possibilità alle views di chiedere lo spazio di cui hanno bisogno 152 Android inizia il processo chiamando il metodo measure sulla radice dell albero a parore dalla radice ogni container view chiede ai figli lo spazio di cui hanno bisogno la richiesta si propaga ricorsivamente Mesaure è un metodo final che non può essere riscrijo onmeasure invece sì, viene chiamato da measure onmeasure() public class MyView extends Views{ MyView(Context context) { super(context); @Override public void onmeasure(int widthmeasurespec, int heightmeasurespec) { setmeasureddimension( getsuggestedminimumwidth(), getsuggestedminimumheigh());. onmeasure potrebbe essere chiamata varie volte! gli int contengono anche dei bit addizionali 153 5

MeasureSpec 154 int widthmode = MeasureSpec.getMode(widthMeasureSpec); int width = MeasureSpec.getSize(widthMeasureSpec); int heightmode = MeasureSpec.getMode(heightMeasureSpec); int height = MeasureSpec.getSize(heightMeasureSpec); width e heigth in pixels widthmode e heigthmode MeasureSpec.EXACTLY MeasureSpec.AT_MOST MeasureSpec.UNSPECIFIED Layout 155 Nella fase di Layout i view container comunicano la posizione effevva ad ogni view figlio public class MyView extends Views{ @Override public void onlayout (int x1, int y1, int x2, int y2) { Log.d("DEBUG","onLayout ); Log.d("DEBUG","coordinate x1="+x1+" y1="+y1+" x2="+x2+" y2="+y2); int smw = getsuggestedminimumwidth(); int smh = getsuggestedminimumheight(); Log.d("DEBUG","onLayout smw="+smw+" smh="+smh); setmeasureddimension(smw,smh);. 6

Disegnare nel canvas 156 Quando la view è stata posizionata verrà disegnata metodo ondraw OggeJo Paint e metodi dell oggejo Canvas public class MyView extends Views{ @Override public void ondraw (Canvas canvas) { //Codice per disegnare la view. Esempi 157 GraficaCustomWidget GraficaCanvas 7