【问题标题】:onTouch method does not workonTouch 方法不起作用
【发布时间】:2015-01-09 06:50:57
【问题描述】:

我正在使用onTouch 方法来做一些工作。第一步,我想显示 currentX 值。但是,我的代码根本不起作用。我该如何解决这个问题?

 public boolean onTouch(View view, MotionEvent event) {
      int currentX = (int) event.getX();    

      if(event.getAction() == MotionEvent.ACTION_MOVE) {

        Log.d("mesage:",currentX+"");

      }
      return true;
    }

【问题讨论】:

  • 这可能会解决您的问题,因为它解释了它是如何工作的以及需要做什么:stackoverflow.com/a/23043320/4232337
  • 在方法开头添加Log.d
  • 莎拉,你注册了onTouchListener()???
  • @pskink 我想当用户触摸屏和手指向右移动时,例如向他显示一条消息。因此必须在 if 语句不在开始时执行此工作。
  • 没有@pratt。我该怎么办?

标签: android touch


【解决方案1】:

查看此链接: Detecting Common Gestures

你有这样的sn-p:

View myView = findViewById(R.id.my_view); 
myView.setOnTouchListener(new OnTouchListener() {
    public boolean onTouch(View v, MotionEvent event) {
        // your stuff     
        return true;
    }
});

您是否为视图注册了您的侦听器?它是分离的侦听器还是在 Activity 或其他中实现?它是 MotionEventCompat 还是内置的?我们需要更多代码...

但是您说您需要识别“右侧的手指”。在我的链接中查看手势和“检测所有支持的手势”或“检测支持的手势的子集”。 onFling 方法是你想要的(右/左你可以通过velocityX>0 或

编辑: 在你的 activity_main 你应该有更多的意见。您还可以为整个 Activity(屏幕)中的主视图组(LinearLayout/RelativeLayout?)设置 id,并在 findViewById 中获取此视图,然后为该特定视图设置 OnTouchLister。但就像我上面说的,你可能需要手势

【讨论】:

  • 您的文件在网络上被禁止。你能给我真实的链接吗?
  • developer android com /training/gestures/detector html 或者只是为我输入谷歌“检测常见手势”链接正在工作......
猜你喜欢
  • 2017-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多