源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

android开发之为activity增加左右手势识别示例

  • 时间:2020-12-13 21:33 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:android开发之为activity增加左右手势识别示例
android开发中为activity增加左右手势识别,如右滑关闭当前页面。
[u]复制代码[/u] 代码如下:
/*  *  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
[u]复制代码[/u] 代码如下:
<?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
[u]复制代码[/u] 代码如下:
<?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>
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部