Überschriebene View.onDraw() wird nicht aufgerufen

  • Hi,


    ich habe folgendes (stark vereinfachtes) Layout:



    Wenn ich nun eine eigene, von View abgeleitete Klasse als Child der TableRow mapTableRow einhänge, so wird die überschriebene onDraw() Methode niemals aufgerufen. Das passiert auch dann nicht, wenn ich explizit postInvalidate() aufrufe. Lediglich bei Operationen, nach denen das gesamte LAyout überdeckt wird (t.B. weil ich noch was anderes in rootLayout einhänge, was das gesamte Layout überdeckt) kommt onDraw() zum Zuge.


    Ändere ich das allerdings und hänge mir diese von View abgeiletete Klasse testweise als Child des FrameLayouts rootLayout ein, dann wird onDraw() ordnungsgemäß aufgerufen und meine Zeichenfunktionen dort drin können problemlos arbeiten. Was ist denn das seltsames? Ist das ein Android-Bug oder mache ich mit dem FrameLayout irgend was falsch?

  • Naja - so ganz stimmt das nicht.


    Wenn du zu der layout_height="0dp" noch ein layout_weight="1" zufügst, bekommt das Element dann sogar den gesamten unbenutzten Platz zugewiesen... ^^

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!