Как я могу переместить каждый прямоугольник отдельно? - PullRequest
0 голосов
/ 23 июля 2011

У меня есть пять фигур, которые можно нарисовать прямоугольными, я должен установить прямоугольник под углом (-20, -15, -10, -5,0) градусов. Каждый прямоугольник имеет четыре оттенка цвета. Теперь мне нужно анимировать каждый прямоугольник один за другим, и если пользователь перетаскивает курсор слева направо, верхний прямоугольник перемещается слева направо.

Проблема в том, что я не могу переместить каждый прямоугольник отдельно. Как я могу определить и реализовать каждый прямоугольник отдельно?

Вот пример снимка, который я должен сделать. http://postimage.org/image/13sa96sbo/

public ColorFanDraw(Context context) {
    super(context);
    // TODO Auto-generated constructor stub
}


@Override
protected void onDraw(Canvas canvasObject) {

    int x = 100;
    int y = 50;
    int width = 70;
    int convasSize =200;       

    Paint thePaint = new Paint();

    thePaint.setColor(mTouchedColor-200);   
    canvasObject.rotate(-15, centerX,centerY); 
    canvasObject.drawRect(new Rect(x,y,x+width,y+convasSize), thePaint);

    thePaint.setColor(mTouchedColor-50);    
    canvasObject.rotate(10, centerX,centerY);
    canvasObject.drawRect(new Rect(x,y,x+width,y+convasSize), thePaint);

    canvasObject.rotate(10, centerX,centerY);
    thePaint.setColor(mTouchedColor);
    canvasObject.drawRect(new Rect(x,y,x+width,y+convasSize), thePaint);

    rotation = AnimationUtils.loadAnimation(contextObj,
                                     R.anim.view_transition_in_left);

    ImageView img = new ImageView(contextObj);

    img.startAnimation(rotation);


}

1 Ответ

0 голосов
/ 23 июля 2011

Вам нужно будет сохранить прямоугольные объекты в переменной, прежде чем рисовать их на холсте.

Rect rectangle1 = new Rect(x,y,x+width,y+convasSize);
canvasObject.drawRect(rectangel1, thePaint);

Rect rectangle2 = new Rect(x,y,x+width,y+convasSize);
canvasObject.drawRect(rectangel2, thePaint);

и т. Д.

Затем вы можете ссылаться на отдельные прямоугольники, где бы вы ни выполняли анимацию.

...