Android动画 - 需要移动到某个位置

时间:2013-02-10 20:46:56

标签: android animation nested imageview relative

我有问题!

首先。我需要为卡片制作动画,从原始位置移动并降落在另一个预定义的图像视图之上(代表卡片堆叠的卡片)

    public static ImageView REFERENCE_IMAGE_FOR_ANIMATION;
REFERENCE_IMAGE_FOR_ANIMATION = (ImageView) findViewById(R.id.cardpile);



    public void deckButtonOnClick(View v) {
    ImageView imageView = new ImageView(getApplicationContext());
    imageView.setImageResource(DECK.takeCard());
    imageView.setAdjustViewBounds(true);
    imageView.setLayoutParams(PARAMS);
    imageView.setTag("0");
    imageView.setOnClickListener(new MyOnClickListener());

    ((LinearLayout) findViewById(R.id.innerLinearLayout))
            .addView(imageView);

}

我的MyOnClickListener代码如下:

public class MyOnClickListener{
Animation standardPosition = new TranslateAnimation(0, 0, 0, -25f);

@Override
public void onClick(View v) {
    Animation standardPosition;

    Animation risedPositionAndChosen;

    if (v.getTag().toString().equalsIgnoreCase("0")) {
        standardPosition = new TranslateAnimation(0, 0, 0, -25f);
        standardPosition.setDuration(400);
        standardPosition.setFillAfter(true);
        v.setTag("1");
        v.startAnimation(standardPosition);

    } else if (v.getTag().toString().equalsIgnoreCase("1")) {
        risedPositionAndChosen = new TranslateAnimation(
                Animation.RELATIVE_TO_SELF, 0,
                Animation.RELATIVE_TO_PARENT,    Game.REFERENCE_IMAGE_FOR_ANIMATION.getRight()
                - v.getRight(), Animation.RELATIVE_TO_SELF,
                0,Animation.RELATIVE_TO_PARENT, -Game.REFERENCE_IMAGE_FOR_ANIMATION.getTop());
        risedPositionAndChosen.setDuration(400);
        risedPositionAndChosen.setFillAfter(true);
        v.setTag("0");
        v.startAnimation(risedPositionAndChosen);

    } else if (v.getTag().toString().equalsIgnoreCase("2")) {

    }
    ((View) v.getParent()).invalidate();
}

}

这是我的OnClickListener中的第一个“else if”语句,我不知何故需要更改。 REFERENCE_IMAGE_FOR_ANIMATION = (ImageView) findViewById(R.id.cardpile);是我需要“登陆”的卡片。

其次:我的游戏画面布局包含一个嵌套的scrollview,里面有一个linearlayout。当动画开始时,卡片会在层次结构中更高的布局“滑落”。如果有人能告诉我我必须要做什么才能“漂浮在上面”,我真的很感激它!

0 个答案:

没有答案