自定义view==》签到列表

162 阅读1分钟

    class MyView extends View {

        private final Paint mPaint;
        private float w = 100f;
        private float size = w / 2;
        private final Paint mPaint1;
        private final float mH;
        private int mToDay = 0;

        public MyView(Context context) {
            super(context);
            mPaint = new Paint();
            mPaint.setStyle(Paint.Style.FILL);
            mPaint1 = new Paint();
            mPaint1.setColor(Color.RED);
            mPaint1.setStyle(Paint.Style.FILL);
            mPaint1.setTextSize(size);
            Paint.FontMetrics fontMetrics = mPaint1.getFontMetrics();
            mH = (fontMetrics.bottom - fontMetrics.top) / 2 - fontMetrics.bottom;

        }
        
        //签到日期修改调用该方法
        public void chang(int i) {
            mToDay = i+1;
            invalidate();
        }

        @Override
        protected void onDraw(Canvas canvas) {
            super.onDraw(canvas);

            for (int i = 1; i < 8; i++) {
                mPaint.setColor(Color.BLACK);

                if (i < mToDay) {
                    mPaint.setColor(Color.YELLOW);
                }

                canvas.drawCircle(w * i + 20, w, w * 0.5f, mPaint);
                String s = i + "";
                float v = mPaint1.measureText(s) / 2;
                canvas.drawText(s, w * i + 20 - v, w + mH, mPaint1);

            }
        }
    }