zoukankan      html  css  js  c++  java
  • 5

    今天写了触摸时间,通过左右滑动和点击完成对记账本的添加删除修改等

    代码如下

    package com.yuukidach.ucount;
    
    import android.os.Bundle;
    import androidx.appcompat.app.AppCompatActivity;
    import android.view.GestureDetector;
    import android.view.MotionEvent;
    import android.view.View;
    
    public abstract class BaseActivity extends AppCompatActivity {
        private GestureDetector mGestureDetector;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            // TODO Auto-generated method stub
            super.onCreate(savedInstanceState);
    
            //1 初始化  手势识别器
            mGestureDetector = new GestureDetector(this,new GestureDetector.SimpleOnGestureListener(){
                @Override
                public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
                                       float velocityY) {// e1: 第一次按下的位置   e2   当手离开屏幕 时的位置  velocityX  沿x 轴的速度  velocityY: 沿Y轴方向的速度
                    //判断竖直方向移动的大小
                    if(Math.abs(e1.getRawY() - e2.getRawY())>100){
                        //Toast.makeText(getApplicationContext(), "动作不合法", 0).show();
                        return true;
                    }
                    if(Math.abs(velocityX)<150){
                        //Toast.makeText(getApplicationContext(), "移动的太慢", 0).show();
                        return true;
                    }
    
                    if((e1.getRawX() - e2.getRawX()) >200){// 表示 向右滑动表示下一页
                        //显示下一页
                        next(null);
                        return true;
                    }
    
                    if((e2.getRawX() - e1.getRawX()) >200){  //向左滑动 表示 上一页
                        //显示上一页
                        pre(null);
                        return true;//消费掉当前事件  不让当前事件继续向下传递
                    }
                    return super.onFling(e1, e2, velocityX, velocityY);
                }
            });
    
        }
        /**
         * 下一个页面
         * @param view
         */
        public abstract void next(View view);
        /**
         * 上一个页面
         * @param view
         */
        public abstract void pre(View view);
    
        //重写activity的触摸事件
        @Override
        public boolean onTouchEvent(MotionEvent event) {
            //2.让手势识别器生效
            mGestureDetector.onTouchEvent(event);
            return super.onTouchEvent(event);
        }
    }
    

      

  • 相关阅读:
    windows系统使用sketch设计的设计稿
    移动端点击按钮复制链接
    设置display:inline-block 元素间隙
    修改url中参数值
    fiddler主要图标说明
    fiddler抓包工具
    数据库删除
    having的用法
    left join on和where
    Statement和PreparedStatement有什么区别?哪个效率高?
  • 原文地址:https://www.cnblogs.com/1329197745a/p/14899555.html
Copyright © 2011-2022 走看看