0
我尝试creare为圆进步的自定义视图,我画一些点上绘制,比我想乌鸦的东西在这一点上,而进度的增加,这是我的代码:在视图上的Android绘图
public SpinnerView(Context context) {
super(context);
}
@SuppressLint("DrawAllocation")
protected void onDraw(Canvas canvas) {
//TODO Auto-generated method stub
super.onDraw(canvas);
float x = 0;
float y = 0;
for(int i=0; i<360; i = i + 12){
x = (float) (view.getWidth()/2 + 260 * Math.cos(Math.toRadians(i)));
y = (float) (view.getHeight()/2 + 260 * Math.sin(Math.toRadians(i)));
Paint paint = new Paint();
paint.setColor(Color.RED);
canvas.drawCircle((float) x, (float) y, 10, paint);
}
viewCanvas = canvas;
}
public void updateWithProgress (int progress){
// progress : total = x : 36
int point = (360*progress)/total;
point = point/12;
Log.d("point" + point,"-------");
float x = (float) (view.getWidth()/2 + 260 * Math.cos(Math.toRadians(point)));
float y = (float) (view.getHeight()/2 + 260 * Math.sin(Math.toRadians(point)));
Paint paint = new Paint();
paint.setColor(Color.BLUE);
viewCanvas.drawCircle(x, y, 20, paint);
}
}
问题是,updateWithProgress不起作用,它不会在旧的红色圆圈上绘制蓝色圆圈。
你在哪里调用“updateWithProgress”? –
里面的一个异步任务,这是因为我看到Log.d(“point”+ point,“-------”); – kikko088
尝试无效(在视图中调用'invalidate();')查看调用updateWithProgress后的视图。 – Hardy