2017-09-30 137 views

回答

0

創建custom view和並覆蓋onDraw(Canvas canvas)方法,你必須draw your shape裏面像這樣:

@Override 
protected void onDraw(Canvas canvas) { 
    super.onDraw(canvas); 

    if(touched) 
     canvas.drawCircle(centerX, centerY, radius, mPaint); 
} 

然後處理內部onTouchEvent方法姿態:

@Override 
public boolean onTouchEvent(MotionEvent e) { 
    float x = e.getX(); 
    float y = e.getY(); 

    switch (e.getAction()) { 
     case MotionEvent.ACTION_DOWN: 
      touched = true; 
      centerX = x; 
      centerY = y; 
      break; 
     case MotionEvent.ACTION_MOVE: 
      // calculate radius 
      radius = Math.abs(centerX - x); 
      break; 
     case (MotionEvent.ACTION_UP) : 
      touched = false; 
      break; 
    } 
    // call next frame 
    postInvalidate(); 
    return true; 
} 

canvas.drawOval方法見。