2014-06-04 2 views
1

Как нарисовать полный круг или точку с холстом? Я с помощью холста и пути + краски классыОрион для Android

мой код:

@Override 
public boolean onTouchEvent(MotionEvent event) { 
    float eventX = event.getX(); 
    float eventY = event.getY(); 
    System.out.println(event.getAction()); 
    switch (event.getAction()) { 
    case MotionEvent.ACTION_DOWN: 
     path.moveTo(eventX, eventY); 
     return true; 
    case MotionEvent.ACTION_MOVE: 
     path.lineTo(eventX, eventY); 
     break; 
    case MotionEvent.ACTION_UP: 
     path.addCircle(eventX, eventY, .1F, Path.Direction.CW); 
     break; 
    default: 
     return false; 
    } 

    // Schedules a repaint. 
    invalidate(); 
    return true; 
} 
+0

И вы действительно рисуете свой объект 'path' в методе' onDraw'? –

+0

есть. @Override \t защищенная пустота onDraw (холст холста) { \t \t canvas.drawPath (путь, краска); \t} – BenG

ответ

2

Вы можете нарисовать круг с помощью переопределения onDraw() вашего пользовательского вида. Проверьте ссылку для основы рисования - http://developer.android.com/training/custom-views/custom-drawing.html

protected void onDraw(Canvas canvas) { 
super.onDraw(canvas); 
canvas.drawCircle(x, y, radius, paint); 
} 

Кроме того, подобные ответы здесь - How to draw circle by canvas in Android?

+0

Я хочу сплошной круг не с белым пространством внутри – BenG

+0

Check PaintStyle API, для различных доступных стилей http://developer.android.com/reference/android/graphics/Paint.Style.html Вы должны попробовать здесь FILL и FILL_AND_STROKE. –

0

Ваша краска должна быть "полной", для этого вы должны написать эту

paint.setStyle(Paint.Style.FILL); 

затем просто нарисуйте круг

canvas.drawCircle(x, y, radius, paint); 

Я надеюсь, что это будет полезно

Смежные вопросы