在 Android 开发中,onTouchEvent
方法可以用于处理触摸事件,但是它不能直接获取手指下的电流视图。要获取手指下的电流视图,可以使用以下方法:
View.OnTouchListener
接口: 首先,需要创建一个实现 View.OnTouchListener
接口的类,并重写 onTouch
方法。在 onTouch
方法中,可以获取到触摸事件的坐标,并根据坐标获取手指下的视图。
示例代码:
public class MyTouchListener implements View.OnTouchListener {
@Override
public boolean onTouch(View v, MotionEvent event) {
int x = (int) event.getX();
int y = (int) event.getY();
View viewUnderFinger = v.findViewWithTagTraversal(x, y);
// 处理手指下的视图
return false;
}
}
GestureDetector
类: 可以使用 GestureDetector
类来处理触摸事件,并根据事件的类型获取手指下的视图。
示例代码:
public class MyGestureListener extends GestureDetector.SimpleOnGestureListener {
@Override
public boolean onSingleTapUp(MotionEvent e) {
int x = (int) e.getX();
int y = (int) e.getY();
View viewUnderFinger = findViewById(R.id.my_view).findViewWithTagTraversal(x, y);
// 处理手指下的视图
return true;
}
}
MotionEvent
类: 可以使用 MotionEvent
类来获取触摸事件的坐标,并根据坐标获取手指下的视图。
示例代码:
@Override
public boolean onTouchEvent(MotionEvent event) {
int x = (int) event.getX();
int y = (int) event.getY();
View viewUnderFinger = findViewById(R.id.my_view).findViewWithTagTraversal(x, y);
// 处理手指下的视图
return super.onTouchEvent(event);
}
需要注意的是,以上方法只能获取手指下的视图,而不是电流视图。要获取电流视图,需要使用其他方法或技术。
领取专属 10元无门槛券
手把手带您无忧上云