[Android實例] 類似地震波向外擴散的自定義控件

該篇文章從eoeAndroid搬遷過來的,原文地址:[Android實例] 類似地震波向外擴散的自定義控件

主要代碼是自定義View的onDraw方法:代碼很簡單,就沒有過多註釋和介紹

@Override
    public void onDraw(Canvas canvas) {
        // TODO Auto-generated method stub
        super.onDraw(canvas);
        setBackgroundColor(Color.TRANSPARENT);
        for (int i = 0; i < alphaList.size(); i++) {
            int alpha = Integer.parseInt(alphaList.get(i));
            int startWidth = Integer.parseInt(startWidthList.get(i));
            paint.setAlpha(alpha);
            canvas.drawCircle(getWidth() / 2, getHeight() / 2, startWidth,
                    paint);
            if (isStarting && alpha > 0 && startWidth < maxWidth) {
                alphaList.set(i, (alpha-1)+"");
                startWidthList.set(i, (startWidth+1)+"");
            }
        }
        if (isStarting&&Integer.parseInt(startWidthList.get(startWidthList.size() - 1)) == maxWidth / 5) {
            alphaList.add("255");
            startWidthList.add("0");
        }
        if(isStarting&&startWidthList.size()==6){
            startWidthList.remove(0);
            alphaList.remove(0);
        }
        invalidate();
    }

這裏寫圖片描述

下載地址:項目代碼

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章