动态那么肯定就需要一个线程里面加一个循环,当然还需要变量!
public class animalView extends View {
protected MyThread mThread;
private Paint mPaint;
private float moveX = 0;
private RectF mRectF = new RectF(0, 40, 60, 100); //矩形方阵,如果这里绘制的是正方形那么绘制出来的就是圆形,如果是长方形绘制出来的就是椭圆形!
private float sweepAngle = 0;
private Random mRand = new Random();
public animalView(Context context) {
super(context);
}
public animalView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void onDraw(Canvas canvas) {
mPaint = new Paint();
if (mThread == null) {
mThread = new MyThread();
mThread.start();
} else {
drawView(canvas);
}
}
public void drawView(Canvas canvas) {
mPaint.setTextSize(30);
int r = mRand.nextInt(256);
int g = mRand.nextInt(256);
int b = mRand.nextInt(256);
mPaint.setARGB(255, r, g, b); //随机产生颜色值!
canvas.drawText("我在不停的移动中", moveX, 30, mPaint);
canvas.drawArc(mRectF, 0, sweep

本文探讨如何在自定义View中利用线程和循环实现图形的动态绘制,通过创建animalView类并结合注释,阐述了实际操作中的关键步骤和理解难点。
最低0.47元/天 解锁文章
9616

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



