天天看點

Android Custom View --- Circular(環形條)Android Custom View — Circular(環形條)

Android Custom View — Circular(環形條)

這次是實作一個簡單的環形條,下圖這樣的,還是盡量簡單的寫,讓新手能夠看懂

Android Custom View --- Circular(環形條)Android Custom View — Circular(環形條)

這一次沒多少代碼,就貼一下核心部分,别的大家可以自己看源碼

@Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        if(f){
            arc1+=;
            arc2+=;
        }else{
            arc1+=;
            arc2+=;
        }
        if(arc1>) {
            temparc = arc1 % ;
            arc2 = temparc + arc2 - arc1;
            arc1 = temparc;
        }
        if(arc1-arc2<=)f=true;
        else if(arc1-arc2>=)f=false;
        canvas.drawArc(r, arc2, arc1-arc2, false, circle);
        invalidate();
    }
           

解釋一下,代碼裡arc1和arc2分别是圓弧的首末角度,f=true時環形長度縮小,false時長度增加,每次繪制後即調用invalidate()立即進行下一次繪制,實作圓環不斷旋轉的效果

源碼位址