Was ist die Verwendung von dispatchDraw (Canvas Canvas) Methode in ViewGroup Klasse ??Verwendung von dispatchDraw (Leinwand Leinwand)
Antwort
Von der Android-Dokumentation - protected void dispatchDraw (Canvas canvas)
:
lost aufgerufen, um die untergeordneten Ansichten zu ziehen. Dies kann von abgeleiteten Klassen außer Kraft gesetzt werden, um Kontrolle zu erlangen, kurz bevor ihre Kinder gezeichnet werden (aber nachdem ihre eigene Ansicht gezeichnet wurde).
Zum Beispiel ist ViewGroup
das Parent von Linear-, Relative-, FrameLayout-, AbsoluteLayout. 1
Da die ViewGroup-Klasse abstrakt ist, ist das direkte Erstellen einer Instanz nicht möglich.
Sie 1 aus diesen Einsatz, mit der Funktion:
dispatchDraw(Canvas canvas)
Aus unbekannten Gründen ziehen die Klassen 1 nicht mit
onDraw(Canvas canvas)
mit
Zeichnung indispatchDraw(Canvas canvas)
ist Diese Klassen 1, möglich und es macht Spaß, UIs zu erstellen.
Es würde wie folgt aussehen:
///// public class MainActi erstreckt MyLinearLayout. öffentlichen MainActi (Context con ... Super (Fortsetzung ...) MyLinearLayout erstreckt Linearlayout
@Override protected void dispatchDraw (Canvas Leinwand) { canvas.drawColor (Color.yellow); ... ///
oder Sie überspringen-back mit
onDraw(Canvas canvas)
die sich in der MainActivity
"Ansicht" oder beziehen es in einer externen Klasse wie folgt zu zeichnen:
MyMelIsDrawing extends View
onDraw(Canvas canvas)
//now draw...
- 1. Leinwand Ausschnitt Region und die Leinwand Stapel
- 2. unter Verwendung der Leinwand-basierte iconset
- 3. Leinwand und jQuery?
- 4. Leinwand Bildglättung
- 5. Stretchartikel zum Füllen von Leinwand
- 6. Android Pixelierung von HTML5 Leinwand
- 7. Sortieren von Objekten auf Leinwand
- 8. Leinwand Bild von Code darunter
- 9. Flexbox, Leinwand & dynamische Größenanpassung
- 10. HTML5-Leinwand fillText Ränder
- 11. Leinwand und Zeichnung Bild
- 12. Html Leinwand scroll
- 13. Kann nicht Leinwand Inhalt
- 14. Bild wird nicht gezeichnet, nachdem Leinwand gelöscht wurde (html5 Leinwand)
- 15. HTML5 Leinwand, konvertieren Leinwand in PDF mit jspdf.js
- 16. Objekt in Leinwand ausblenden
- 17. HTML5 Leinwand 35x35 pixelpaint
- 18. JavaScript Leinwand löschen
- 19. Leinwand schrumpfen Alternative
- 20. HTML5 Leinwand Transformation Matrix
- 21. Ist Leinwand erforderlich?
- 22. onclick Funktionstaste ändern Leinwand
- 23. HTML5 generieren Leinwand Hintergrundbild
- 24. Verschwommene Svg in Leinwand
- 25. Leinwand, Javascript-Interaktion?
- 26. @RenderBody() mit Leinwand
- 27. Leinwand animieren Zeichnen Linien
- 28. Versuchen, eine Leinwand "springen"
- 29. HTML5 Leinwand Diashow Problem
- 30. Java Leinwand Zeichnung Sockel
warum dispatchDraw (Leinwand Leinwand) ??? Können wir stattdessen onDraw (Canvas Canvas) verwenden? –
Dort sollten Sie Ihre Zeichnung machen, ja. 'draw (Canvas canvas)' initiiert das Zeichnen; 'onDraw (Canvas Canvas)' ist wo Zeichnung stattfindet; 'dispatchDraw (Canvas Canvas)' sagt den Kindern der 'ViewGroup', welche gezeichnet werden soll. – Eric