1

我有一个安卓应用程序。我有四个屏幕,每个屏幕都包含一个列表视图。我的要求是,当用户水平翻转时,它应该改变 ui 屏幕,当用户垂直翻转时,它应该滚动列表。我的代码是

public boolean dispatchTouchEvent(MotionEvent event)
 {
     System.out.println("22");
       int eventaction=event.getAction();

         switch(eventaction) 
        {
          case (MotionEvent.ACTION_MOVE):
              System.out.println("move");
          a=1;
          break;

              case MotionEvent.ACTION_UP:
                  System.out.println("up");
              if(a==1)
              {
                  view1.setAnimation(AnimationUtils.loadAnimation(this, R.anim.slide_left));
                  view1.showNext();
              }
              a=0;
                  break;

          default:
          break;
        }

        return super.dispatchTouchEvent(event);
}
4

1 回答 1

1

我有一个类似的问题,孩子们正在吃掉所有的滚动事件。我最终覆盖了onInterceptTouchEvent父级以检测它是水平还是垂直滑动并相应地采取行动。你会想要这样的东西

@Override
public boolean onInterceptTouchEvent (MotionEvent ev){
    if(horizontalSwipe(ev)){
        return true;
    }
    else
        return false;

}

您有一些功能可以从您的历史记录中确定新的运动事件是否构成水平运动事件。

于 2012-06-17T13:01:16.993 回答