【发布时间】:2018-07-14 02:46:18
【问题描述】:
我想以编程方式每 500 毫秒将圆半径从 0 更改为 100,使其像一个闪烁的动画。
基本上,我绘制了两个具有不同半径的相同中心点的圆。我想将动画应用到后面的圆上,另一个半径更大。
如何以编程方式更改圆的半径,使其从 0 变为 100,然后再变为 0?我在互联网上进行了深入搜索,没有结果。
我是这样画圆圈的:
private static final int STROKE_WIDTH = 20;
private Paint mInnerCircle, mOutterCircle;
private int centerX, centerY, radius;
public void init(){
mInnerCircle = new Paint(Paint.ANTI_ALIAS_FLAG);
mInnerCircle.setColor(Color.BLUE);
mInnerCircle.setStyle(Paint.Style.FILL);
mOutterCircle = new Paint(Paint.ANTI_ALIAS_FLAG);
mOutterCircle.setStyle(Paint.Style.STROKE);
mOutterCircle.setStrokeWidth(STROKE_WIDTH);
mOutterCircle.setColor(Color.parseColor("#33b5e5"));
}
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
centerX = canvas.getWidth()/ 2;
centerY = canvas.getHeight()/ 2;
radius = Math.min(centerX,centerY);
canvas.drawCircle(centerX, centerY, radius - STROKE_WIDTH / 2, mOutterCircle);
canvas.drawCircle(centerX, centerY, radius - STROKE_WIDTH, mInnerCircle);
}
最终的结果应该是这样的:
到目前为止,我已经有了静态圈子:
感谢您的帮助。
【问题讨论】:
-
嘿,很遗憾看到您删除了有关寻找包含其他颜色宝石的路径的问题。有一种方法应该奏效。想取消删除它吗?
-
问题再次打开。请看@Gene
标签: android android-animation android-canvas android-custom-view