如何检测机器人向左或向右轻扫? [英] How to detect the swipe left or Right in Android?
本文介绍了如何检测机器人向左或向右轻扫?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在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屋!
查看全文