1

Я работаю с настраиваемыми элементами пользовательского интерфейса. Так что мне нужно нарисовать половину эллипса, подобную форме, на определенный вид во время исполнения.Динамически нарисовать контур овальной над видом

Например: Я должен нарисовать полуэллипс желтого цвета над белым эллипсом.

Like this

Помощь будут оценены.

+0

холст можно использовать для рисования this.have вы пытались что-нибудь? –

+0

@santosh Можете ли вы помочь мне, как двигаться вперед в этом направлении? –

ответ

0
public class MyView extends View { 

    public MyView(Context context) { 
     super(context); 
     // TODO Auto-generated constructor stub 
    } 

    @Override 
    protected void onDraw(Canvas canvas) { 

     // TODO Auto-generated method stub 
     super.onDraw(canvas); 
     float width = (float) getWidth(); 
     float height = (float) getHeight(); 
     float radius; 

     if (width > height) { 
     radius = height/4; 
     } else { 
     radius = width/4; 
     } 

     Path path = new Path(); 
     path.addCircle(width/2, 
     height/2, radius, 
     Path.Direction.CW); 

     Paint paint = new Paint(); 
     paint.setColor(Color.BLACK); 
     paint.setStrokeWidth(5); 
     paint.setStyle(Paint.Style.FILL); 

     float center_x, center_y; 
     final RectF oval = new RectF(); 
     paint.setStyle(Paint.Style.STROKE); 

     center_x = width/2; 
     center_y = height/2; 

     oval.set(center_x - radius, 
      center_y - radius, 
      center_x + radius, 
      center_y + radius); 
     canvas.drawArc(oval, 90, 180, false, paint); 
    } 
} 

Добавить

new MyView(this) 
+0

Очерченный вид - это точно не круг, и я хочу, чтобы он рисовался на границе взгляда. –

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