Mehrere Leinwände im Blick
Ich überschrieben haben, die onDraw () - Methode wie folgt:
public void onDraw(Canvas canvas1){
Canvas canvas2 = new Canvas();
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.graphic1);
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.graphic2);
canvas1.drawBitmap(
top,
new Rect(0, 0, graphic1.getWidth(), graphic1.getHeight()),
new Rect(0, 0, width, width),
null);
canvas2.drawBitmap(
top,
new Rect(0, 0, graphic2.getWidth(), graphic2.getHeight()),
new Rect(0, 0, width, width),
null);
}
Nur graphic1 auf canvas1 angezeigt bekommt, canvas2 und graphic2 nicht. Wie kann ich mehrere Leinwände, die angezeigt werden auf einer einzigen Ansicht?
Sie sind nicht etwas zu tun, befestigen Sie die zweite Leinwand auf die Ansicht an. Warum nicht einfach zeichnen Sie beide bitmaps Ansicht auf die Leinwand?
Ich bin versucht zu Schicht mehrere Bilder, so dass ich dachte, wenn ich Sie auf eine Leinwand und übersetzen Sie den canvas-Bereich, um den verschiedenen Orten konnte ich den gewünschten Effekt. Auch ich bin clipping-Pfade in einigen Leinwänden und nicht auf andere. Wie befestige ich eine Leinwand auf einen Blick?
Ich habe nie kapiert warum auf der Erde jeder will, um mehr als eine Leinwand...
Ich bin versucht zu Schicht mehrere Bilder, so dass ich dachte, wenn ich Sie auf eine Leinwand und übersetzen Sie den canvas-Bereich, um den verschiedenen Orten konnte ich den gewünschten Effekt. Auch ich bin clipping-Pfade in einigen Leinwänden und nicht auf andere. Wie befestige ich eine Leinwand auf einen Blick?
Ich habe nie kapiert warum auf der Erde jeder will, um mehr als eine Leinwand...
InformationsquelleAutor Mark Manickaraj | 2011-05-31
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als Kommentar sagte, Sie sind nicht anbringen Canvas2 zu nichts. Sie schaffen es, in jedem frame (das ist schlecht), die Zeichnung auf es und lasse es dann gehen unsere Freiheiten werden von der garbage Collection eingesammelt. Was Sie tun sollten, schaffen es Canvas2 mit einem backing Bitmap in den Konstruktor von Ihrer Ansicht und halten es als Mitglied. Dann können Sie zeichnen und dann blit seine Bitmap Canvas1. Zum Beispiel:
Es ist nur eine Bitmap, die dazu dient, halten Sie die Informationen, die gezeichnet wird, in den Canvas-Bereich.
Kann das sein, erklärte in einem mehr Anfänger-freundlich? Ich verstehe nicht das snippet
InformationsquelleAutor CaseyB