Activity实现上下左右滑动监听onTouchEvent()方法
来源:互联网 发布:图像高斯滤波算法编程 编辑:程序博客网 时间:2024/06/06 23:59
用Activity的onTouchEvent方法实现监听手指上下左右滑动
应用了Activity的ontouchEvent方法监听手指点击事件,手指滑动的时候会先按下,滑倒另一个地方再抬起,我们就可以根据按下的坐标和抬起的坐标算出用户是往哪一个方向滑动了。
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.MotionEvent;
- import android.widget.Toast;
- public class MainActivity extends Activity {
- //手指按下的点为(x1, y1)手指离开屏幕的点为(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方法,直接监听点击事件
- if(event.getAction() == MotionEvent.ACTION_DOWN) {
- //当手指按下的时候
- x1 = event.getX();
- y1 = event.getY();
- }
- if(event.getAction() == MotionEvent.ACTION_UP) {
- //当手指离开的时候
- 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);
- }
- }
阅读全文
0 0
- Activity实现上下左右滑动监听onTouchEvent()方法
- 用Activity的onTouchEvent方法实现监听手指上下左右滑动
- 用Activity的onTouchEvent方法实现监听手指上下左右滑动
- 用Activity的onTouchEvent方法实现监听手指上下左右滑动
- 用Activity的onTouchEvent方法实现监听手指上下左右滑动
- 用Activity的onTouchEvent方法实现监听手指上下左右滑动
- 用Activity的onTouchEvent方法实现监听手指上下左右滑动
- 用Activity的onTouchEvent方法实现监听手指上下左右滑动
- Activity的onTouchEvent方法实现监听手指上下左右滑动
- Activity实现监听手指上下左右滑动
- activity 监听手势滑动 上下左右
- Scroll实现上下左右滑动
- Scroll监听方法 实现滑动监听
- Fragment实现onTouchEvent事件监听
- 带webView的Activity中实现监听左右滑动
- 23web app实现上下左右滑动
- Appium 测试,实现上下左右滑动页面
- Android图片上下左右滑动特效--Recycker实现
- NOIP2017普及组考前问题总结
- 【CTF 攻略】如何绕过四个字符限制getshell
- css凹凸文字简单设置
- 单硬盘gpt+uefi安装win10和Ubuntu
- idea使用杂记(一)
- Activity实现上下左右滑动监听onTouchEvent()方法
- 不可变对象(Immutable Objects)in Java
- PHP连接mysqli
- Spark技术在京东智能供应链预测的应用
- NOIP普及组考前总结(要取一个严肃点的名字(・-・*))
- Linux——实现网站发布服务器
- MVP+Fresco+RXJava+Retrofit+全选+反选
- abstract class和interface的区别
- 怎么解决java.lang.NoClassDefFoundError错误