android中使用Activity實(shí)現(xiàn)監(jiān)聽(tīng)手指上下左右滑動(dòng)
用Activity的onTouchEvent方法實(shí)現(xiàn)監(jiān)聽(tīng)手指上下左右滑動(dòng)

應(yīng)用了Activity的ontouchEvent方法監(jiān)聽(tīng)手指點(diǎn)擊事件,手指滑動(dòng)的時(shí)候會(huì)先按下,滑倒另一個(gè)地方再抬起,我們就可以根據(jù)按下的坐標(biāo)和抬起的坐標(biāo)算出用戶(hù)是往哪一個(gè)方向滑動(dòng)了。
package com.example.testtt;
import android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.widget.Toast;
public class MainActivity extends Activity {
//手指按下的點(diǎn)為(x1, y1)手指離開(kāi)屏幕的點(diǎn)為(x2, y2)
float x1 = 0;
float x2 = 0;
float y1 = 0;
float y2 = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
//繼承了Activity的onTouchEvent方法,直接監(jiān)聽(tīng)點(diǎn)擊事件
if(event.getAction() == MotionEvent.ACTION_DOWN) {
//當(dāng)手指按下的時(shí)候
x1 = event.getX();
y1 = event.getY();
}
if(event.getAction() == MotionEvent.ACTION_UP) {
//當(dāng)手指離開(kāi)的時(shí)候
x2 = event.getX();
y2 = event.getY();
if(y1 - y2 > 50) {
Toast.makeText(MainActivity.this, "向上滑", Toast.LENGTH_SHORT).show();
} else if(y2 - y1 > 50) {
Toast.makeText(MainActivity.this, "向下滑", Toast.LENGTH_SHORT).show();
} else if(x1 - x2 > 50) {
Toast.makeText(MainActivity.this, "向左滑", Toast.LENGTH_SHORT).show();
} else if(x2 - x1 > 50) {
Toast.makeText(MainActivity.this, "向右滑", Toast.LENGTH_SHORT).show();
}
}
return super.onTouchEvent(event);
}
}
- Android中實(shí)現(xiàn)可滑動(dòng)的Tab的3種方式
- Android中實(shí)現(xiàn)監(jiān)聽(tīng)ScrollView滑動(dòng)事件
- Android中實(shí)現(xiàn)水平滑動(dòng)(橫向滑動(dòng))ListView示例
- android 通過(guò)向viewpage中添加listview來(lái)完成滑動(dòng)效果(類(lèi)似于qq滑動(dòng)界面)
- Android仿今日頭條滑動(dòng)頁(yè)面導(dǎo)航效果
- Android滑動(dòng)沖突的完美解決方案
- Android 頂部標(biāo)題欄隨滑動(dòng)時(shí)的漸變隱藏和漸變顯示效果
- 解析Android中實(shí)現(xiàn)滑動(dòng)翻頁(yè)之ViewFlipper的使用詳解
- Android App中ViewPager所帶來(lái)的滑動(dòng)沖突問(wèn)題解決方法
- Android實(shí)現(xiàn)滑動(dòng)效果
相關(guān)文章
Android實(shí)現(xiàn)每天定時(shí)提醒功能
本文主要介紹了Android每天定時(shí)提醒功能、定時(shí)功能、鬧鐘的相關(guān)知識(shí)。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧2017-04-04
Android?拍照功能實(shí)現(xiàn)(手機(jī)關(guān)閉依然拍照)詳解及實(shí)例代碼
這篇文章主要介紹了?Android?拍照功能實(shí)現(xiàn)(手機(jī)關(guān)閉依然拍照)詳解及實(shí)例代碼的相關(guān)資料,這對(duì)Android相機(jī)在不開(kāi)手機(jī)的情況下還能繼續(xù)拍照,附有實(shí)例Demo,需要的朋友可以參考下2016-12-12
Android開(kāi)發(fā)中的MVC設(shè)計(jì)模式淺析
這篇文章主要介紹了Android開(kāi)發(fā)中的MVC設(shè)計(jì)模式淺析,本文講解了對(duì)Android開(kāi)發(fā)中的MVC設(shè)計(jì)模式的理解,需要的朋友可以參考下2015-06-06
Android軟鍵盤(pán)彈出時(shí)的界面控制方法
這篇文章主要介紹了Android軟鍵盤(pán)彈出時(shí)的界面控制方法,結(jié)合實(shí)例形式分析了Android軟鍵盤(pán)彈出后的三種模式,涉及Android針對(duì)AndroidManifet.xml的修改技巧,需要的朋友可以參考下2016-08-08
android 使用kotlin 實(shí)現(xiàn)點(diǎn)擊更換全局語(yǔ)言(中日英切換)
這篇文章主要介紹了android kotlin 點(diǎn)擊更換全局語(yǔ)言的實(shí)現(xiàn)方法,這里主要介紹中日英切換,需要的朋友可以參考下2019-11-11
Android Activity與Intent詳解及示例代碼
本文主要講解Android Activity與Intent的知識(shí),這里整理了相關(guān)資料并附有示例代碼,有興趣的小伙伴可以參考下2016-08-08
Android中實(shí)現(xiàn)監(jiān)聽(tīng)ScrollView滑動(dòng)事件
這篇文章主要介紹了Android中實(shí)現(xiàn)監(jiān)聽(tīng)ScrollView滑動(dòng)事件,本文用重寫(xiě)ScrollView類(lèi)的方法實(shí)現(xiàn)了一些擴(kuò)展功能,需要的朋友可以參考下2015-05-05
android使用viewpager計(jì)算偏移量實(shí)現(xiàn)選項(xiàng)卡功能
這篇文章主要為大家詳細(xì)介紹了android使用viewpager計(jì)算偏移量實(shí)現(xiàn)選項(xiàng)卡功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12

