and12

private void drawWingsImg(Canvas canvas) {
        if (workspace.isScrollerFinished()) {
            if (mDragging) {
                if (transferAt == null) {
                    startWingsAnimation(WINGS_START_VECTOR, WINGS_END_VECTOR, WINGS_INCREMENT, WINGS_SLEEP_TIME);
                }
  
                if (!transferAt.isAlive() && needWingsAnimation) {
                    if (changeWingsAnimationState) {
                        if (transferAtListener.getAnimationState() == DragLayerAnimationThread.MOVE_IN
                                && transferAt.getCurrentScale() > WINGS_START_VECTOR) {
                            startWingsAnimation(transferAt.getCurrentScale(), WINGS_START_VECTOR, WINGS_INCREMENT,
                                    WINGS_MOVE_IN_SLEEP_TIME);
                        } else if (transferAtListener.getAnimationState() == DragLayerAnimationThread.MOVE_OUT
                                && transferAt.getCurrentScale() < WINGS_END_VECTOR) {
                            startWingsAnimation(transferAt.getCurrentScale(), WINGS_END_VECTOR, WINGS_INCREMENT,
                                    WINGS_MOVE_OUT_SLEEP_TIME);
                        }
                    } else {
                        startWingsAnimation(WINGS_START_VECTOR, WINGS_END_VECTOR, WINGS_INCREMENT, WINGS_SLEEP_TIME);
                    }
                }
            } else {
                if (transferAt != null) {
                    if (transferAt.isAlive()) {
                        transferAt.setAnimationState(AnimationThread.STATE_ZOOM_OUT);
                  
                    } else if (needWingsAnimation && transferAt.getCurrentScale() != WINGS_START_VECTOR) {
                 
                        startWingsAnimation(transferAt.getCurrentScale(), WINGS_START_VECTOR, WINGS_INCREMENT,
                                WINGS_SLEEP_TIME);
                    }
                } else {
                    return;
                }
            }
           
            int currentScreen = workspace.getCurrentScreen();
            int currentGroup = workspace.getCurrentGroup();
           

            if (currentScreen != 0 || currentGroup != 0) {
                drawLeftDragImg(canvas);
            }


            if (currentScreen != 1
                    || currentGroup != GroupInfoProvider.getInstance(getContext()).getGroupCount() - 1) {
                drawRightDragImg(canvas);
            }               
        }
    }
   
    private void drawLeftDragImg(Canvas canvas) {
        int offset = getDragWingsOffset();
        Drawable leftDragNormal = getResources().getDrawable(R.drawable.left_drag_normal);
        Drawable leftDrag = getResources().getDrawable(R.drawable.left_drag);
        Bitmap arrowheadLeftNormal = BitmapFactory.decodeResource(getResources(), R.drawable.arrowhead_left_normal);
        Bitmap arrowheadLeft = BitmapFactory.decodeResource(getResources(), R.drawable.arrowhead_left_active);
       
        canvas.save();
        canvas.translate(transferAt.getCurrentScale(), 0);
        if (mScrollState == SCROLL_WAITING_IN_ZONE && mScrollRunnable.mDirection == SCROLL_LEFT) {     

            leftDrag.setBounds(0, offset, SCROLL_ZONE_IMG_WIDTH, offset + calculate.getDragWingsHeight());
            leftDrag.draw(canvas);

            canvas.drawBitmap(arrowheadLeft, (SCROLL_ZONE_IMG_WIDTH - arrowheadLeft.getWidth()) / 2, getHeight() / 2
                    - arrowheadLeft.getHeight() / 2, imgPaint);
        } else {           
            leftDragNormal.setBounds(0, offset, SCROLL_ZONE_IMG_WIDTH, offset + calculate.getDragWingsHeight());
            leftDragNormal.draw(canvas);           

            canvas.drawBitmap(arrowheadLeftNormal, (SCROLL_ZONE_IMG_WIDTH - arrowheadLeftNormal.getWidth()) / 2, getHeight() / 2
                    - arrowheadLeftNormal.getHeight() / 2, imgPaint);           
        }
        canvas.restore();
    }

你可能感兴趣的:(and12)