android开发之为activity增加左右手势识别示例
android开发之为activity增加左右手势识别示例
发布时间:2016-12-28 来源:查字典编辑
摘要:android开发中为activity增加左右手势识别,如右滑关闭当前页面。复制代码代码如下:/**for左右手势*1.复制下面的内容到目标...

android开发中为activity增加左右手势识别,如右滑关闭当前页面。

复制代码 代码如下:

/*

* for左右手势

* 1.复制下面的内容到目标Activity

* 2.目标Activity的onCreate()调用initGesture()

* 3.目标Activity需implements OnTouchListener, OnGestureListener

*/

private GestureDetector mGestureDetector;

private int verticalMinDistance = 180;

private int minVelocity = 0;

private void initGesture() {

mGestureDetector = new GestureDetector((OnGestureListener) this);

}

public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {

if (e1.getX() - e2.getX() > verticalMinDistance && Math.abs(velocityX) > minVelocity) {

// 切换Activity

// Intent intent = new Intent(ViewSnsActivity.this, UpdateStatusActivity.class);

// startActivity(intent);

//Toast.makeText(this, "向左手势", Toast.LENGTH_SHORT).show();

} else if (e2.getX() - e1.getX() > verticalMinDistance && Math.abs(velocityX) > minVelocity) {

// 切换Activity

// Intent intent = new Intent(ViewSnsActivity.this, UpdateStatusActivity.class);

// startActivity(intent);

//Toast.makeText(this, "向右手势", Toast.LENGTH_SHORT).show();

finish();

overridePendingTransition(R.anim.push_right_in, R.anim.push_right_out);

}

return false;

}

@Override

public void onLongPress(MotionEvent arg0) {

// TODO Auto-generated method stub

}

@Override

public boolean onScroll(MotionEvent arg0, MotionEvent arg1, float arg2,

float arg3) {

// TODO Auto-generated method stub

return false;

}

@Override

public void onShowPress(MotionEvent arg0) {

// TODO Auto-generated method stub

}

@Override

public boolean onSingleTapUp(MotionEvent arg0) {

// TODO Auto-generated method stub

return false;

}

@Override

public boolean onTouch(View v, MotionEvent event) {

// TODO Auto-generated method stub

return mGestureDetector.onTouchEvent(event);

}

@Override

public boolean onDown(MotionEvent arg0) {

// TODO Auto-generated method stub

return false;

}

@Override

public boolean dispatchTouchEvent(MotionEvent ev) {

mGestureDetector.onTouchEvent(ev);

return super.dispatchTouchEvent(ev);

}

push_right_in.xml

复制代码 代码如下:

<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android">

<translate android:fromXDelta="-100%p" android:toXDelta="0"

android:duration="500" />

<alpha android:fromAlpha="0.1" android:toAlpha="1.0"

android:duration="500"/>

</set>

push_right_out.xml

复制代码 代码如下:

<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android">

<translate android:fromXDelta="0" android:toXDelta="100%p"

android:duration="500" />

<alpha android:fromAlpha="1.0" android:toAlpha="0.1"

android:duration="500"/>

</set>

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新安卓软件开发学习
热门安卓软件开发学习
编程开发子分类