android:按下按钮并跟随手势

标签 android button view gesture

我的视野更加开阔。

在扩展 View 内,有一个按钮。我想要一个手势监听器,这样当触摸按钮并向右/向左滑动时,按钮将跟随手指向右/向左移动。

我实现的是在主要 Activity 中,

主要 Activity :

   @Override
   public boolean onTouchEvent(MotionEvent event) 
   {
       int x = (int)event.getX();
       int y = (int)event.getY();

       if (y > viewHeight - 250)
       {
           game_collecting_ex_view.get_touched_x(x);   
       }
       switch (event.getAction()) 
       {
           case MotionEvent.ACTION_DOWN:
           case MotionEvent.ACTION_MOVE:
           case MotionEvent.ACTION_UP:
       }
   return false;
   }

扩展 View :

   public void get_touched_x (int x)
   {       
        boy_x = x;
        image_boy.setX(boy_x); 
        image_boy.setY(viewHeight - BOY_HEIGHT);    
   }

问题:

这样,当我按下按钮以外的任何地方时,按钮就会跟随手指向左或向右移动。但如果按下按钮,它不会移动。

如何修改?谢谢!

最佳答案

我终于成功实现了onTouchACTION_MOVE如下,使按钮成为触摸和拖动:

  button_test= (Button) findViewById(R.id.button_test);
  button_test.setOnTouchListener(new OnTouchListener()
  {               
      private float x, y;    
      private int mx, my;             
      public boolean onTouch(View v, MotionEvent event) 
      {    
          switch(event.getAction()) 
          {     
          case MotionEvent.ACTION_DOWN:    
              x = event.getX();    
              y = event.getY();    
          case MotionEvent.ACTION_MOVE:    
              mx = (int)(event.getRawX() - x);    
              my = (int)(event.getRawY() - 50 - y);    
              button_test.setX(mx);
              button_test.setY(my);

              break;    
          }    
          return true;    
      }}); 

关于android:按下按钮并跟随手势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20444211/

相关文章:

java - 如何在低 API 级别获取 TimeZone?

css - 如何使 Bootstrap 按钮全宽?

java - 将 Button 更改为 JButton 无法修复它(((

ios - 重新加载时保留 View 状态

java - 在android编码中覆盖com.android.View的onScroll方法?

android - 多人等候室超过 2 名玩家时不显示已连接的玩家

android - 将房间数据库导出到 json 文件

java - getActivity() 在 Android java 服务中使用的其他方式

javascript - 提交时删除类并刷新页面

android - SYSTEM_UI_FLAG_LOW_PROFILE 不起作用