如何检测机器人向左或向右轻扫? [英] How to detect the swipe left or Right in Android?

查看:130
本文介绍了如何检测机器人向左或向右轻扫?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在android的一个的EditText视图。关于这一点,我想要检测向左或向右轻扫。我能得到它与下面code一空。但是,当我刷上的EditText这不起作用。我该怎么做呢?请让我知道如果我做错了什么。谢谢你。

code中使用

 开关(touchevent.getAction())

    {
        案例MotionEvent.ACTION_DOWN:
        {
            oldTouchValue = touchevent.getX();
            打破;
        }
        案例MotionEvent.ACTION_UP:
        {
            浮currentX = touchevent.getX();
            如果(oldTouchValue< currentX)
            {
                //刷卡左
            }
            如果(oldTouchValue> currentX)
            {
                刷卡权
            }
        打破;
        }
    }
 

解决方案

最简单的左到右刷卡器:

在您的活动类中添加以下属性:

 私人持股量X1,X2;
静态最终诠释MIN_DISTANCE = 150;
 

和覆盖的onTouchEvent()方法:

  @覆盖
 公共布尔的onTouchEvent(MotionEvent事件)
 {
     开关(event.getAction())
     {
       案例MotionEvent.ACTION_DOWN:
           X1 = event.getX();
       打破;
       案例MotionEvent.ACTION_UP:
           X2 = event.getX();
           浮DELTAX = X2  -  X1;
           如果(Math.abs(DELTAX)> MIN_DISTANCE)
           {
             Toast.makeText(这一点,left2right刷卡,Toast.LENGTH_SHORT).show();
           }
           其他
           {
               //认为是别的东西 - 一个屏幕点击,例如
           }
       打破;
     }
     返回super.onTouchEvent(事件);
 }
 

I have a edittext view in android. On this I want to detect a swipe left or right. I am able to get it on a empty space with the below code. But this does not work when I swipe on a edittext. How do i do it? Please let me know If I am doing something wrong. Thank you.

Code Used

    switch (touchevent.getAction())

    {
        case MotionEvent.ACTION_DOWN:
        {
            oldTouchValue = touchevent.getX();
            break;
        }
        case MotionEvent.ACTION_UP:
        {
            float currentX = touchevent.getX();
            if (oldTouchValue < currentX)
            {
                // swiped left
            }
            if (oldTouchValue > currentX )
            {
                swiped right
            }
        break;
        }
    }

解决方案

Simplest left to right swipe detector:

In your activity class add following attributes:

private float x1,x2;
static final int MIN_DISTANCE = 150;

and override onTouchEvent () method:

@Override
 public boolean onTouchEvent(MotionEvent event)
 {     
     switch(event.getAction())
     {
       case MotionEvent.ACTION_DOWN:
           x1 = event.getX();                         
       break;         
       case MotionEvent.ACTION_UP:
           x2 = event.getX();
           float deltaX = x2 - x1;
           if (Math.abs(deltaX) > MIN_DISTANCE)
           {
             Toast.makeText(this, "left2right swipe", Toast.LENGTH_SHORT).show ();
           }
           else
           {
               // consider as something else - a screen tap for example
           }                          
       break;   
     }           
     return super.onTouchEvent(event);       
 }

这篇关于如何检测机器人向左或向右轻扫?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆