Einstellung Bild-hintergrund im SurfaceView, immer schwarzer Bildschirm

Okay, so Im Versuch, den hintergrund einer SurfaceView zu einer JPG-Datei. Aber es scheint nicht zu wollen, zeichnen Sie das Bild, und alles was ich bekomme ist ein schwarzer Bildschirm.

Hier:s mein code:

    public class FloorplanActivity extends Activity{

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    MapView mapView = new MapView(getApplicationContext());
    setContentView(mapView);


}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    //Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.floorplan, menu);
    return true;
}

class MapView extends SurfaceView{

    Rect testRectangle1 = new Rect(0, 0, 50, 50);
    Bitmap scaled;
    int x;
    int y;

    public MapView(Context context) {
        super(context);

    }

    public void surfaceCreated(SurfaceHolder arg0){
        Bitmap background = BitmapFactory.decodeResource(getResources(), R.drawable.floorplan);
        float scale = (float)background.getHeight()/(float)getHeight();
        int newWidth = Math.round(background.getWidth()/scale);
        int newHeight = Math.round(background.getHeight()/scale);
        scaled = Bitmap.createScaledBitmap(background, newWidth, newHeight, true);
    }

 public void onDraw(Canvas canvas) {
        canvas.drawBitmap(scaled, 0, 0, null); //draw the background
    }

Nicht sicher, warum es nicht zeichnen "floorplan" - Bild, das ich gespeichert haben, in den drawable-mdpi Ordner.

Jemand irgendwelche Vorschläge?

Dank.

EDIT: Nachdem ich einige debugging mit breakpoints, wie es scheint, den "skaliert" - variable wird "Infinity" aus irgendeinem Grund und als solche die newWidth und newHeight Variablen werden weniger als 0 und stürzt die Anwendung ab.

Dies ist nur, wenn ich Sie den ganzen surfaceCreated in den Konstruktor, wenn ich den code belassen wie er ist hier, dann ist es nicht alles tun, beyind die Anzeige einen schwarzen Bildschirm.

Keine Ahnung, was es verursacht, das zu tun, obwohl...

InformationsquelleAutor Hallow | 2013-02-26

Schreibe einen Kommentar