1

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

  1. 随机抽卡
  2. 通过翻转并显示背面或转到全新的视图来显示该卡的描述。

下面是我使用 Fragments 的代码,我使用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;

    }
}
4

1 回答 1

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;
        }

    }

问候,杰里米

于 2013-05-30T04:20:21.367 回答