@Override protected void onDraw(Canvas canvas) { canvas.drawRect(outBox.getLeft(), outBox.getTop(), outBox.getRight(), outBox.getBottom(), outBox.getPaint()); dirChange = box.bounce(canvas, strokeWidth); rectifyBoundaries(canvas, box); canvas.drawRect(box.getLeft(), box.getTop(), box.getRight(), box.getBottom(), box.getPaint()); handler.postDelayed(r, dirChange ? FRAME_RATE * 20 : FRAME_RATE); }
@Override protected void onLayout(boolean changed, int left, int top, int right, int bottom) { super.onLayout(changed, left, top, right, bottom); if(outBox == null){ outBox = new Box(left, top, right, bottom, strokeColor, 10); outBox.getPaint().setStrokeWidth(strokeWidth); } if(box == null){ box = new Box(left + strokeWidth, top + strokeWidth, right/2 - strokeWidth, bottom/2 - strokeWidth, loaderColor, 10); box.setDx(speed); box.setDy(speed); } }