android_画图3 画笔的复制以及更新

接着继续android的画图,源代码就不写 只写部分
private Paint[] mPaints;
mPaints = new Paint[4];
mPaints[0] = new Paint();
mPaints[0].setAntiAlias(true);
mPaints[0].setStyle(Paint.Style.FILL);
mPaints[0].setColor(0x88FF0000);

mPaints[1] = new Paint(mPaints[0]);
mPaints[1].setColor(0x8800FF00);
mPaints[1]复制了mPaints[0]的特点,只是颜色变了,这就是 创建一个新对象时复制的用处,在adnroid中到处有复制的影子。其实复制就是一种继承吧,父类和子类。

mPaints[2].setStyle(Paint.Style.STROKE); 设置画笔的样式有三种
默认的为Paint.Style.FILL,就是实心的。Paint.Style.STROKE只是外层的线,我是这么理解的。
mPaints[2].setStrokeWidth(4); 画笔的粗细吧,默认的是0,只是一条硬线

@Override protected void onDraw(Canvas canvas) {
canvas.drawColor(Color.WHITE);

drawArcs(canvas, mBigOval, mUseCenters[mBigIndex],mPaints[mBigIndex]);

for (int i = 0; i < 4; i++) {
// drawArcs(canvas, mOvals[i], mUseCenters[i], mPaints[i]);
drawArcs(canvas, mOvals[i], true, mPaints[i]);
}
mSweep += SWEEP_INC;
if (mSweep > 360) {
mSweep -= 360;
mStart += START_INC;
if (mStart >= 360) {
mStart -= 360;
}
mBigIndex = (mBigIndex + 1) % mOvals.length;
}

invalidate();
}

最后注意的是 要想一直画圆 不要忘记invalidate(); 他在不断的更新我是这么理解的
这个地方还不是很透彻。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值