【问题标题】:Android ViewFlipper with 2 viewsAndroid ViewFlipper 有 2 个视图
【发布时间】:2013-08-30 13:09:35
【问题描述】:

我正在寻求有关创建 ViewFlipper 的帮助,当通过滑动在月份之间切换时,它将像在 android 日历中一样工作。

我只想在我的 viewFlipper 中有两个视图,当我向右滑动时我想做

mViewFlipper.setDisplayedChild( 1 );

当我向左滑动时:

mViewFlipper.setDisplayedChild( 0 );

当我向左滑动两次时,我希望每次都获得完整的进/出动画,并且向右滑动也是如此。只有当我滑动到下一个和上一个时,完整的动画才有效,从不指向下一个 -> 下一个。

感谢您的帮助!

【问题讨论】:

    标签: android events view switch-statement swipe


    【解决方案1】:

    如果您只使用 2 个视图,并且目前您正在手动设置 0 和 1,只需调用

    mViewFlipper.showNext();
    

    而不管滑动方向如何,并根据您希望它向左还是向右滑动来应用正确的动画。这意味着即使您在视图 1 上并且再次向右滑动(如您定义的那样),视图 0 也会重新进入,就像两个视图之间永无止境的鳍状肢一样。

    http://developer.android.com/reference/android/view/animation/AnimationUtils.html

    我可能完全误解了你的问题,但是它相当模糊。

    【讨论】:

      【解决方案2】:
      【解决方案3】:

      ** res = animator 中的文件夹.......

      翻译动画 xml 文件 = res 文件夹中 animator 文件夹中的 s_in_fleft ..... 可能有帮助**

      public boolean onTouchEvent(MotionEvent touchevent) {
          switch (touchevent.getAction()) {
          case MotionEvent.ACTION_DOWN: {
              lastX = touchevent.getX();
              break;
          }
          case MotionEvent.ACTION_UP: {
              float currentX = touchevent.getX();
      
              if (lastX < currentX) {
                  if (viewFlipper.getDisplayedChild() == 0)
                      break;
      
                  viewFlipper.setInAnimation(this, R.animator.s_in_fleft);
                  viewFlipper.setOutAnimation(this, R.animator.s_out_right);
                  viewFlipper.showNext();
              }
      
              if (lastX > currentX) {
                  if (viewFlipper.getDisplayedChild() == 1)
                      break;
      
                  viewFlipper.setInAnimation(this, R.animator.s_in_fright);
                  viewFlipper.setOutAnimation(this, R.animator.s_out_left);
                  viewFlipper.showPrevious();
              }
              break;
          }
          }
          return false;
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-16
        • 1970-01-01
        相关资源
        最近更新 更多