This article describes the simple implementation of radar scanning effects by Android programming. Share it for your reference, as follows:
I saw an article about radar scanning in eoe, and then read it. It was very simple, but I felt that there were still many places to optimize. I posted it below
package ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; public class RadarView extends FrameLayout { private int viewSize = 500; private Paint mPaintLine; private Paint mPaintSector; private boolean isStart = false; private ScanThread mThread; private int start = 0; private final int paintWidth = 10; public RadarView(Context context) { super(context); init(); } public RadarView(Context context, AttributeSet attrs) { super(context, attrs); init(); } private void init() { initPaint(); mThread = new ScanThread(); setBackgroundColor(); } private void initPaint() { mPaintLine = new Paint(); (paintWidth); (true); (); (0xffff0000); mPaintSector = new Paint(); (0x9D00ff00); (true); } public void setViewSize(int size) { = size; mShader = new SweepGradient(viewSize >> 1, viewSize >> 1, , ); setMeasuredDimension(viewSize, viewSize); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { setMeasuredDimension(viewSize, viewSize); } public void start() { (); isStart = true; } public void stop() { if (isStart) { (); isStart = false; } } private Shader mShader = new SweepGradient(viewSize >> 1, viewSize >> 1, , ); private Matrix matrix = new Matrix(); @Override protected void onDraw(Canvas canvas) { (canvas); int halfRadaSize = viewSize >> 1; (halfRadaSize, halfRadaSize, halfRadaSize >> 1, mPaintLine); (halfRadaSize, halfRadaSize, halfRadaSize - (paintWidth >> 1), mPaintLine); (halfRadaSize, 0, halfRadaSize, viewSize, mPaintLine); (0, halfRadaSize, viewSize, halfRadaSize, mPaintLine); (mShader); (matrix); (halfRadaSize, halfRadaSize, halfRadaSize - paintWidth, mPaintSector); } protected class ScanThread extends Thread { int halfRadaSize = viewSize >> 1; @Override public void run() { while (isStart) { start = start + 2; (); (start, halfRadaSize, halfRadaSize); postInvalidate(); try { (10); } catch (InterruptedException e) { (); } } } } }
I hope this article will be helpful to everyone's Android programming design.