本文介紹了如何在 Android 中檢測(cè)向左或向右滑動(dòng)?的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!
問(wèn)題描述
我在 android 中有一個(gè) EditText
視圖.在此我想檢測(cè)向左或向右滑動(dòng).我可以使用下面的代碼在空白處獲取它.但是當(dāng)我在 EditText
上滑動(dòng)時(shí),這不起作用.我怎么做?如果我做錯(cuò)了什么,請(qǐng)告訴我.謝謝.
I have an EditText
view in android. On this I want to detect swipe left or right. I am able to get it on an empty space using the code below. But this does not work when I swipe on an EditText
. How do I do that? Please let me know If I am doing something wrong. Thank you.
使用的代碼:
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;
}
}
推薦答案
最簡(jiǎn)單的從左到右滑動(dòng)檢測(cè)器:
在您的活動(dòng)類(lèi)中添加以下屬性:
In your activity class add following attributes:
private float x1,x2;
static final int MIN_DISTANCE = 150;
并覆蓋 onTouchEvent()
方法:
@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);
}
這篇關(guān)于如何在 Android 中檢測(cè)向左或向右滑動(dòng)?的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!
【網(wǎng)站聲明】本站部分內(nèi)容來(lái)源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問(wèn)題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請(qǐng)聯(lián)系我們刪除處理,感謝您的支持!