Android-特定视图上的手势检测(向上/向下滑动)

Android-特定视图上的手势检测(向上/向下滑动),android,swipe,gesture-recognition,onfling,Android,Swipe,Gesture Recognition,Onfling,我正在尝试在Android中实现OnTestureListener我的布局中有三个文本视图我试图实现的是为两个文本视图设置手势侦听器。 这是布局- 目前正在调用所有三个文本视图的Fling。是否有任何方法可以为布局中的某些特定视图设置手势侦听器 非常感谢您的帮助。您可以将OnTouchListeners设置为个人TextViews findViewById(R.id.tvOne).setOnTouchListener(new OnTouchListener() { @Override

我正在尝试在Android中实现OnTestureListener
我的布局中有三个文本视图
我试图实现的是为两个文本视图设置手势侦听器。
这是布局-

目前正在调用所有三个文本视图的Fling。
是否有任何方法可以为布局中的某些特定视图设置手势侦听器

非常感谢您的帮助。

您可以将
OnTouchListener
s设置为个人
TextView
s

findViewById(R.id.tvOne).setOnTouchListener(new OnTouchListener() {

    @Override
    public boolean onTouch(View view, MotionEvent event) {
         // Your code here
    }
}

在您的
onCreate
方法中执行此操作

findViewById(R.id.tvOne).setOnTouchListener(new View.OnTouchListener() { 
            @Override
           public boolean onTouch(View v, MotionEvent event){
                return gestureScanner.onTouchEvent(event);
           }
  });
建议 如果不想检测所有手势,请尝试以下类: 我自己创造的

下面是一些关于这个类用法的代码片段

用法 可用于检测刷卡手势:

  • 左还是右
  • 上下

谢谢你的回答。两个答案都是正确的。我不能同时接受这两个答案,我将投票给你们两个。如何设置特定版面的onLongPress(相对)。@reegan29,同样的方法。GestureDetector上的覆盖方法之一是
onLongPress()
我们如何知道哪个视图被抛出?@SrujanBarai在上面的例子中,id为
R.id的
view
具有侦听器,因此它就是被触碰的视图。或者您可以使用
视图
传入
onTouch()
请在您的github项目中公开接口“侦听器”,谢谢
findViewById(R.id.tvOne).setOnTouchListener(new OnTouchListener() {

    @Override
    public boolean onTouch(View view, MotionEvent event) {
         // Your code here
    }
}
findViewById(R.id.tvOne).setOnTouchListener(new View.OnTouchListener() { 
            @Override
           public boolean onTouch(View v, MotionEvent event){
                return gestureScanner.onTouchEvent(event);
           }
  });
public class MainActivity extends AppCompatActivity {
    private static final String TAG = "MainActivity";
    private GestureDetector mDetector;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        SimpleGestureListener simpleGestureListener = new SimpleGestureListener();
        simpleGestureListener.setListener(new SimpleGestureListener.Listener() {
            @Override
            public void onScrollHorizontal(float dx) {
                Log.i(TAG,"horizontal = " +dx);
            }

            @Override
            public void onScrollVertical(float dy) {
                Log.i(TAG,"vertical = " +dy);
            }
        });
        mDetector = new GestureDetector(this, simpleGestureListener);
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        mDetector.onTouchEvent(event);
        return super.onTouchEvent(event);
    }
}