2015-10-02 2 views
0

В течение двух дней у меня есть математическая проблема, которую я пытаюсь решить. Я создал круг с функцией drawCircle. Я нарисовал радиус по кругу. Теперь я хотел сделать круговую анимацию радиуса (только радиуса) в круге. Как показано ниже. enter image description hereКруговое движение с радиусом внутри круга

public class radar extends Fragment { 


@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
} 


private class theRadar extends View{ 

    public theRadar(Context context){ 
     super(context); 
    } 

    @Override 
    protected void onSizeChanged(int w, int h, int oldw, int oldh) { 
     super.onSizeChanged(w, h, oldw, oldh); 
    } 

    @Override 
    protected void onDraw(Canvas canvas) { 

     super.onDraw(canvas); 
     Paint p = new Paint(); 
     p.setColor(Color.RED); 

     DashPathEffect dashPath = new DashPathEffect(new float[]{5,5}, (float)1.0); 
     p.setPathEffect(dashPath); 
     p.setStyle(Paint.Style.FILL); 
     p.setStrokeWidth(8f); 
     canvas.drawCircle(getWidth()/2, getHeight()/2, getWidth()/2, p); 

     p.setColor(Color.BLACK); 
     p.setStrokeWidth(4f); 
     canvas.drawLine(getWidth()/2, getHeight()/2, 20, getWidth()/2, p); 

     invalidate(); 
    } 
} 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    View theRadar = new theRadar(getActivity()); 
    return theRadar; 
} 

}

Спасибо за вашу помощь

+0

"круговое сканирование", что это такое? – pskink

+0

Мой английский не очень жаль, что это круговая анимация. как радарное сканирование! – modiodio

+0

В чём проблема? – laune

ответ

0

спасибо вам @pskink для вас предложение! Я решил свою проблему благодаря вашей ссылке! Для тех, кто имеет такую ​​же проблему я положил код

а и б: координаты центра окружности (а, б)

г: Радиус в пикселах

TCUR: угол радиуса

tcur = tcur + Math.toRadians(2); 
x = (int) (a +r*Math.cos(tcur)); 
y = (int) (b +r*Math.sin(tcur)); 

canvas.drawLine(a, b, x, y, p);