2012-03-29 17 views
1

Ich habe eine Aktivität, wo ich zwei ImageViews habe. In onTouch erkenne ich, auf welche Bildansicht geklickt wurde. Jetzt habe ich eine Frage. Wie ich ein neues sehr kleines Bild an der Stelle zeichnen kann, wo ich geklickt habe. Ich weiß, dass ich onTouch getX() und getY() habe und ich diese Position speichern, wenn ich den Bildschirm berühre, aber ich weiß nicht, wie ich Bild an Stelle zeichnen kann, wo ich geklickt habe. Mein Bild befindet sich in ausklappbaren Ressourcen. Ich muss Leinwand verwenden oder ist besser. Ich muss dieses Bild zeichnen und danach muss ich dieses Bild laufen lassen.Zeichnen Bild in Aktivität Android

edit1: Wie kann ich positionX und positionY mein Bild setzen. Ich habe Position, wo ich klicke, aber ich weiß nicht, wie ich Bild in diesen Koordinaten einstellen kann.

Antwort

3

sollten Sie eine Bildansicht mit dem sichtbaren Attribut FALSE haben und nach der Berührung (oder einem beliebigen Ereignis) drei Attribute setzen: visible = true; x = getX() und y = getY();

ist es genug oder mehr zu erklären?

+0

Ich stelle die Sichtbarkeit entkräften, aber ich weiß nicht, wie ich Position dieses Bild einstellen. Ich weiß, dass getX() und getY() dorthin zurückkehren, wo ich klicke, aber wie kann ich diese Koordinaten in Bildern setzen? – edi233

+0

developers.android.com Gehen Sie zur Registerkarte Referenz –

0

Ich sehe den folgenden Ansatz.

  • Ersetzen Sie ImageView durch eine von ImageView abgeleitete benutzerdefinierte Ansicht.
  • OnDraw überschreiben.
  • Rufen Sie super.onDraw auf, um das Bild zu zeichnen
  • malen Sie Ihr Bild mit onDraw Leinwand an der letzten Berührungsposition.

  • jedes Mal, wenn Sie eine Note erhalten, müssen Sie die benutzerdefinierte Ansicht