A cosa serve il metodo dispatchDraw (Canvas canvas) nella classe ViewGroup ??Uso di dispatchDraw (Canvas canvas)
risposta
Dalla documentazione Android - protected void dispatchDraw (Canvas canvas)
:
Chiamato dal sorteggio per disegnare il punto di vista del bambino. Questo può essere sovrascritto dalle classi derivate per ottenere il controllo prima che i suoi figli vengano disegnati (ma dopo che è stata disegnata la propria vista).
Ad esempio, ViewGroup
è il padre di Linear, Relative-, FrameLayout-, AbsoluteLayout. 1
Poiché la classe ViewGroup è astratta, la creazione diretta di un'istanza non è possibile.
È possibile utilizzare 1 da questa, con la funzione di:
dispatchDraw(Canvas canvas)
Per ragioni sconosciute, le classi 1 non sarebbero disegnare con
onDraw(Canvas canvas)
Disegnare con
dispatchDraw(Canvas canvas)
è in questo Classes 1, possibile ed è divertente creare interfacce utente.
Sarebbe simile a questa:
///// public class MainActi estende MyLinearLayout. pubblico MainActi (Context con ... super (cont ...) MyLinearLayout estende LinearLayout
@Override protected void dispatchDraw (Tela) { canvas.drawColor (Color.YELLOW); ... ///
oppure si salta-back a disegnare con
onDraw(Canvas canvas)
si estende nel MainActivity
"Visualizza", oppure in una classe extern come questo:
MyMelIsDrawing extends View
onDraw(Canvas canvas)
//now draw...
perché dispatchDraw (Canvas canvas) ??? possiamo usare onDraw (canvas canvas) invece ?? –
Ecco dove dovresti fare il tuo disegno, sì. 'draw (Canvas canvas)' avvia il disegno; 'onDraw (Canvas canvas)' è dove il disegno ha luogo; 'dispatchDraw (Canvas canvas)' è ciò che dice ai bambini del 'ViewGroup' di essere disegnati. – Eric