2016-04-09 9 views
0

私はこの問題を数週間から頭に入れようとしていましたが、解決策は見つかりませんでした。 イメージビューを作成しようとしています。ユーザーがビューにタッチすると破線が表示され、ユーザーが指をドラッグするとラインが水平方向に移動する必要があります。ラインの高さは完全な画像ビューの高さです。ImagveViewの縦線をタッチでアンドロイドで描く

私は多くのチュートリアルをインターネットで見ましたが、多くの解決策を試しましたが、うまくいきませんでした。これは、私がアンドロイド開発に新しいことが原因である可能性があります。

助けてください

+0

カスタム 'ImageView'を作り、その' onTouchEvent'と 'onDraw'メソッドをオーバーライドします。ここでは

は、コードがあります – pskink

答えて

0

最後に、これが問題を解決しました。 onTouchEvent()内でinvalidate()を呼び出す必要がありました。

@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; 
     } 
関連する問題