2013-05-28 27 views
1

不知道怎麼問這個,我一直在試圖找出最好的方法來實現隨機卡發生器。類似於閃存卡或塔羅牌。我發現很多的例子來解釋一個卡,這是偉大的翻轉,但我需要它:隨機選擇一個動畫翻轉Android中

  1. 隨機挑卡
  2. 顯示該卡的描述或者通過翻轉,並表示後或去一個全新的觀點。

下面是我使用片段的代碼,我使用Random()制定了隨機部分。我一直在努力的是一旦按鈕被按下,它會轉到正確的卡片上,並進一步更正該卡片的正確描述。

我最初在onCreate方法中有這個,但是我把它放到一個按鈕中,所以我可以控制它多一點,但我明白,爲了調用flip,用戶將觸摸屏幕。有沒有教程或建議可以幫助我解決這個問題?我在一天之內就可以在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; 

    } 
} 

回答

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

    } 

問候, 傑里米