2016-04-09 17 views
0

Ich habe versucht, meinen Kopf um dieses Problem seit Wochen zu bekommen, aber ich habe keine Lösung gefunden. Ich versuche eine Bildansicht zu erstellen und wenn ein Benutzer die Ansicht berührt, muss eine gestrichelte Linie erscheinen und wenn der Benutzer seinen Finger herumzieht, muss sich die Linie horizontal bewegen. Die Höhe der Linie ist die gesamte Bildansichtshöhe.Zeichnen einer vertikalen Linie auf ImagveView in android bei Berührung

Ich sah viele Tutorials im Internet dafür, versuchte viele Lösungen, aber keine funktionierte. Dies kann aufgrund der Tatsache, dass ich neu in Android-Entwicklung bin.

Bitte Hilfe

+0

eine benutzerdefinierte machen 'ImageView' und außer Kraft setzen seine' onTouchEvent' und 'onDraw' Methoden – pskink

Antwort

0

Schließlich löste dies das Problem. Musste innerhalb von onTouchEvent() invalidate() aufrufen. Hier

ist der Code:

@Override 
    protected void onDraw(Canvas canvas) { 
     super.onDraw(canvas); 
     canvas.drawLine(touchX,0,touchX,canvas.getHeight(),paint); 
    } 

    @Override 
    public boolean onTouchEvent(MotionEvent event) { 

     touchX = event.getX(); 

     touchY = event.getY(); 

/* 
     switch (event.getAction()){ 
      case MotionEvent.ACTION_DOWN: 
       path.moveTo(touchX,touchY); 
       break; 
      case MotionEvent.ACTION_MOVE: 
       path.lineTo(touchX,touchY); 
       break; 
      case MotionEvent.ACTION_UP: 
       break; 
     } 
*/ 
     invalidate(); 
     return true; 
     } 
Verwandte Themen