2016-05-02 10 views
0

Ich brauche meinen Inhalt Ansicht als eine Klasse zu setzen, die SurfaceView erstreckt, aber wenn ich dies tue, kann ich auf nicht ImageViews, TextViews usw. definiert in meiner main.xml Datei . Wenn ich zum Beispiel einen ImageView bekommen würde, wäre es null. Also, wie kann ich die Elemente in meinem main.xml Layout in meiner SurfaceView Klasse definiert haben?setContentView als eine Klasse, die erweitert Surface

Antwort

0

SurfaceView ist ein View kein ViewGroup. Dies bedeutet, dass Sie auf traditionelle Weise keine Kinder dafür haben können. Sie müssen die Kinder selbst zeichnen.

Dieses Beispiel gibt Ihnen mehr Details über die Verwendung SurfaceView: http://www.edu4java.com/en/androidgame/androidgame2.html

+1

Diese Seite ist schrecklich - es Surface erstreckt und erklärt, eine 'OnDraw()' Methode, die es zunächst einmal ausdrücklich nennt, wenn die Oberfläche erstellt wird . Im Wesentlichen wird nur eine benutzerdefinierte Ansicht verwendet, aber die zusätzlichen Kosten einer weitgehend unbenutzten Oberfläche hinzugefügt. Tu nichts, was diese Seite sagt. – fadden

+0

@fadden Ich nehme an, du bist nicht mit dem Tutorial weitergegangen? – Niko

+0

Ich sagte absichtlich "diese Seite" und nicht "diese Seite". Ich habe eine Menge Zeit mit Stackoverflow verbracht, um Probleme zu beheben, die sich aus dieser Code-Anordnung ergeben. Daher ist es für mich ein trauriger Grund, da es Leute geben wird, die das als Grundlage nehmen und weitermachen. Bis der Code auf dieser Seite mit einem großen "Dies ist die falsche Art und Weise, tu das nicht" eingeklammert ist, werde ich es als schädlich betrachten. – fadden

Verwandte Themen