随机选择Android中的动画翻转

时间:2013-05-28 23:55:53

标签: android flip viewanimator

不知道怎么问这个问题,我一直在尝试找出实现随机卡生成器的最佳方法。类似于闪存卡或塔罗牌。我找到了许多解释卡片翻转的例子,这很好但我需要它:

  1. 随机选择卡
  2. 通过翻转并显示背面或转到全新视图来显示该卡的说明。
  3. 下面是我使用Fragments的代码,我使用Random()编制了Random部分。我正在努力的是,一旦按下按钮,它就会转到正确的卡片,并进一步说明该卡片的正确描述。

    我最初在onCreate方法中有这个,这很好,但我把它放在一个按钮,所以我可以控制它多一点,但我明白,为了调用翻转,用户将触摸屏幕。是否有任何教程或建议可以提供帮助我解决这个问题?我确实在一天之内就已经在iOS上工作了。

    public void ButtonOnClick(View v) {
        final ViewAnimator viewAnimator1 = (ViewAnimator)this.findViewById(R.id.viewFlipper1);
        final ViewAnimator viewAnimator2 = (ViewAnimator)this.findViewById(R.id.viewFlipper2);
        Random rnd = new Random();
        int randomListIndex = rnd.nextInt(4);
        switch (randomListIndex) {
            //Card1
            case 1:
                //Intent intent = new Intent(MyActivity.this, Flip3DViewTransitionActivity.class);
                //startActivity(intent);
                AnimationFactory.flipTransition(viewAnimator1, AnimationFactory.FlipDirection.RIGHT_LEFT);
            break;
            //Card2
            case 2:
                 AnimationFactory.flipTransition(viewAnimator1, AnimationFactory.FlipDirection.RIGHT_LEFT);
            break;
            //Card3
            case 3:
                AnimationFactory.flipTransition(viewAnimator2, AnimationFactory.FlipDirection.RIGHT_LEFT);
            break;
            //Card4
            case 4:
                AnimationFactory.flipTransition(viewAnimator2, AnimationFactory.FlipDirection.RIGHT_LEFT);
            break;
    
        }
    }
    

1 个答案:

答案 0 :(得分:0)

我想我已经解决了。我采取了不同的方法。正如你在上面所看到的,我应该做一些不同的事情。我最终放弃了翻转效果,并以淡入效果工作。我知道它没有完全回答这个问题。但是我能够实现我的目标。希望这可以帮助将来的某个人。

ImageView image;
    public void ButtonOnClick(View v) {
        Random rnd = new Random();
        int randomListIndex = rnd.nextInt(2);
        Animation myFadeInAnimation = AnimationUtils.loadAnimation(Tarot.this, R.anim.fadein);
        switch (randomListIndex) {
            case 0:

                //get the image your going to muck with
                image = (ImageView) findViewById(R.id.cardImageView);
                //set the image with what it should be
                image.setImageResource(R.drawable.storm);
                //apply the transition effect so it looks correct
                image.startAnimation(myFadeInAnimation);
            break;
            case 1:
                image = (ImageView) findViewById(R.id.cardImageView);
                image.setImageResource(R.drawable.scribe);
                image.startAnimation(myFadeInAnimation);

            break;
            default:
            break;
        }

    }

此致 杰里米