285_画出连串的进度点

来源:互联网 发布:数学之美 知乎 编辑:程序博客网 时间:2024/05/18 03:17






画出连串的进度点




        //小圆的半径
        radius = 5;


        //小圆的直径
        diameter = radius * 2;


        //小圆的间距
        gap = 5;






    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        super.onMeasure(widthMeasureSpec, heightMeasureSpec);


        //假设来10个圆,那么宽就是10*(10*2+5)+5=255
        //高就给圆的直径就行了
        int width = 10 * (diameter + gap) + gap;
        int height = diameter;


        setMeasuredDimension(width, height);
    }






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


        //第一个圆的xy是(10+5)*1-5,10,也就是(gap+radius)*1,radius
        //第二个圆的xy是(10+5)*2-5,10
        for (int i = 1; i <= 10; i++) {
            canvas.drawCircle((diameter + gap) * i - radius, radius, radius, paint);
        }
    }
0 0
原创粉丝点击