Android - SurfaceView (Breite, Höhe) problem
Im neu in android und im, denen einige Probleme...
Im mit einer SurfaceView zu erweitern meine Klasse.
In meiner Klasse kann ich nicht bekommen die Breite und Höhe der SurfaceView.
Es ist immer 0. Im, der versucht zu wechseln, ein Bild auf dem gesamten Bildschirm (surfaceView), aber ich bin nicht in der Lage, um seine Breite und Höhe.
Irgendwelche Vorschläge?
Hier ist der code für SurfaceView in main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<test.MyClass android:id="@+id/SurfaceView01"
android:layout_width="fill_parent" android:layout_height="fill_parent">
</test.MyClass>
</LinearLayout>
InformationsquelleAutor no9 | 2011-02-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe versucht, ähnliche Sache, und auf diesem thread Android: UI-Elemente über die Leinwand layer
Abgesehen von oben würden Sie auch brauchen, um Höhe und Breite
wenn Sie nicht wollen, ziehen Sie Ihren code in OnDraw können Sie versuchen, folgenden code
Aber dies wird geben Sie Breite, Höhe des gesamten sichtbaren Bereich
warum kann Sie das image in onDraw
muss ein habbit von j2Me onPaint ... ist es nicht das gleiche ist? 🙂
Ich habe bearbeitet den code, den Sie cant versuchen, dass man so, dass Ihr Bild nicht erstellt, jedesmal, wenn die ondraw aufgerufen wird
ich stolperte über code, aber getWindowManager() wird nicht erkannt in meiner Klasse extends SurfaceView?
InformationsquelleAutor ingsaurabh
Könnten Sie versuchen, die Umsetzung der surfaceChanged Methode (die jederzeit, wenn die Oberfläche geändert wird, auch wenn es initialisiert wird):
http://developer.android.com/reference/android/view/SurfaceHolder.Callback.html#surfaceChanged(android.view.SurfaceHolder, int, int, int)
Nur:
InformationsquelleAutor snapfractalpop
Die Lösung, die ich fand hat für mich mit dieser war mit getHeight() und getWidth() in meinem SurafaceCreated Methode, nach der ich begann meinen thread. Dadurch konnte ich die Höhe und Breite der Fläche anzeigen vor jeder Aktualisierung oder Zeichnung stattgefunden hat.
InformationsquelleAutor KRB
Verwenden
surfaceView.getHolder().getSurfaceFrame()
um dieRect
Objekt mit den GrößenInformationsquelleAutor pleerock