2 o casper ne O_Casper_ne 于 2012.12.19 17:21 提问

android布局中的swipe动画

我了解到动画效果可以运用到布局中,能实现onclicklistener, ontouchlistener事件。
但是不了解当向左边或右边滑动布局时,哪个事件会发生。

previousButton.setOnClickListener(new OnClickListener()  {
      @Override 
        publicvoid onClick(View v) {  
              viewFlipper.setInAnimation(MainActivity.this,R.anim.view_transition_in_right);
               viewFlipper.setOutAnimation(MainActivity.this,R.anim.view_transition_out_right);
               viewFlipper.showPrevious();  
      }  
    });  
}

我不想实现onclicklistener事件。如果我把当前的布局触摸并且滑动到左边,下一个布局就会在当前的视图中。
如何处理这个问题啊?

2个回答

hxn_217
hxn_217   2012.12.20 10:34
已采纳

让activity实现onGestureListener
然后在activity添加

private GestureDetector gestureScanner;
gestureScanner = new GestureDetector(this);
private static final int SWIPE_MIN_DISTANCE = 100;
    private static final int SWIPE_THRESHOLD_VELOCITY = 100;

重写onTouchEvent(MotionEvent event)

@Override
    public boolean onTouchEvent(MotionEvent event) {
        return gestureScanner.onTouchEvent(event);
    }

最后也要重写onFling方法

@Override
    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
            float velocityY) {
        /* on scroll to the next page */
        if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE
                && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY
                ) {
            //Ur code goes here
        }
        /* on scroll to the previous page  */
        else if (e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE
                && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY
                ) {
            //ur code goes here.
        }
        return false;
    }
Baby_Bonnie
Baby_Bonnie   2012.12.24 11:01

给你这个文档参考一下:ViewPager

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!