差不多吧。但是如果手指滑的很慢的话,就不是代替返回键了,因为有个中间过程。
那就监听手指的滑动
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);
那就监听手指的滑动
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);
那就监听手指的滑动
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()了?
那就监听手指的滑动
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();
}
那就监听手指的滑动
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();
}
多谢,我试试。
那就监听手指的滑动
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中没有啊。
我需要自定义控件吗?
那如果layout 是Listview 或有Button等可以获取焦点的控件,这种方法不行吧?还有没有其他解决方案?