【问题标题】:Randomly choose a Animation Flip in Android在Android中随机选择一个动画翻转
【发布时间】:2013-05-30 12:20:21
【问题描述】:

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

  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;

    }
}

【问题讨论】:

    标签: android flip viewanimator


    【解决方案1】:

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

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

    问候, 杰里米

    【讨论】:

      猜你喜欢
      • 2011-08-30
      • 2011-03-22
      • 1970-01-01
      • 2017-07-06
      • 2012-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多