差不多吧。但是如果手指滑的很慢的话,就不是代替返回键了,因为有个中间过程。
那就监听手指的滑动
private class MyGestureDetector extends GestureDetector.SimpleOnGestureListener {
        @Override
        public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)         
        {           }
}    @Override
    public boolean onInterceptTouchEvent(MotionEvent ev) {
        mGestureDetector.onTouchEvent(ev);
        return false;
    }mGestureDetector = new GestureDetector(this, new MyGestureDetector(), null, false);

解决方案 »

  1.   

    差不多吧。但是如果手指滑的很慢的话,就不是代替返回键了,因为有个中间过程。
    那就监听手指的滑动
    private class MyGestureDetector extends GestureDetector.SimpleOnGestureListener {
            @Override
            public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)         
            {           }
    }    @Override
        public boolean onInterceptTouchEvent(MotionEvent ev) {
            mGestureDetector.onTouchEvent(ev);
            return false;
        }mGestureDetector = new GestureDetector(this, new MyGestureDetector(), null, false);
    可是并没有看到什么地方把当前的Activity给finish()了?
      

  2.   

    差不多吧。但是如果手指滑的很慢的话,就不是代替返回键了,因为有个中间过程。
    那就监听手指的滑动
    private class MyGestureDetector extends GestureDetector.SimpleOnGestureListener {
            @Override
            public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)         
            {           }
    }    @Override
        public boolean onInterceptTouchEvent(MotionEvent ev) {
            mGestureDetector.onTouchEvent(ev);
            return false;
        }mGestureDetector = new GestureDetector(this, new MyGestureDetector(), null, false);
    可是并没有看到什么地方把当前的Activity给finish()了?
    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)         
    {      
        //楼主在这个函数里判断,手指是否是左滑的操作,如果是,就直接调用finish();
         
    }
      

  3.   

    差不多吧。但是如果手指滑的很慢的话,就不是代替返回键了,因为有个中间过程。
    那就监听手指的滑动
    private class MyGestureDetector extends GestureDetector.SimpleOnGestureListener {
            @Override
            public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)         
            {           }
    }    @Override
        public boolean onInterceptTouchEvent(MotionEvent ev) {
            mGestureDetector.onTouchEvent(ev);
            return false;
        }mGestureDetector = new GestureDetector(this, new MyGestureDetector(), null, false);
    可是并没有看到什么地方把当前的Activity给finish()了?
    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)         
    {      
        //楼主在这个函数里判断,手指是否是左滑的操作,如果是,就直接调用finish();
         
    }

    多谢,我试试。
      

  4.   

    差不多吧。但是如果手指滑的很慢的话,就不是代替返回键了,因为有个中间过程。
    那就监听手指的滑动
    private class MyGestureDetector extends GestureDetector.SimpleOnGestureListener {
            @Override
            public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)         
            {           }
    }    @Override
        public boolean onInterceptTouchEvent(MotionEvent ev) {
            mGestureDetector.onTouchEvent(ev);
            return false;
        }mGestureDetector = new GestureDetector(this, new MyGestureDetector(), null, false);
    可是并没有看到什么地方把当前的Activity给finish()了?
    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)         
    {      
        //楼主在这个函数里判断,手指是否是左滑的操作,如果是,就直接调用finish();
         
    }

    onInterceptTouchEvent好像是ViewGroup才能重写的方法,Activity中没有啊。
    我需要自定义控件吗?
      

  5.   

    onInterceptTouchEvent是ViewGroup的方法,你的滑动监听可以加在你的layout上面
      

  6.   


    那如果layout 是Listview 或有Button等可以获取焦点的控件,这种方法不行吧?还有没有其他解决方案?