接着继续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(); 他在不断的更新我是这么理解的
这个地方还不是很透彻。
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(); 他在不断的更新我是这么理解的
这个地方还不是很透彻。
本文介绍了一个简单的Android应用程序绘制不同样式的圆形。通过实例演示如何使用Paint对象设置不同的绘画属性,如抗锯齿、填充风格、颜色及线条宽度,并在Canvas上绘制动态变化的圆弧。
2万+

被折叠的 条评论
为什么被折叠?



