我编写了一个自定义的View
,它绘制了一个圆圈(它的onDraw
函数已被覆盖以执行此操作)。
现在我如何从代码中改变我的圆圈的颜色?(来自显示该圆圈的Activity
函数)
答案 0 :(得分:1)
您可以创建一个setCircleColor来更改圆的颜色,并调用将调用View onDraw方法的invalidate。 您还可以查看invalidate(Drawable drawable)。
public class MyCustomView extends View {
MyCustomView myView;
private Paint myCircle;
public MyCustomView(Context context){
super(context);
initView();
}
private void initView(){
myView = this;
myCircle = new Paint();
myCircle.setColor(0xa300ff00);
}
@Override
protected void onDraw(Canvas canvas) {
drawCircle(canvas);
}
private void drawCircle(Canvas canvas){
canvas.drawCircle(canvas.getWidth()/2, canvas.getHeight()/2, 10, myCircle);
}
public void setCircleColor(int color){
myCircle.setColor(color);
myView.invalidate();
}
}