【问题标题】:Detect touch position in Android [duplicate]检测Android中的触摸位置[重复]
【发布时间】:2013-06-29 17:57:09
【问题描述】:

谁能告诉我如何在 Android 中检测和获取触摸位置。

假设,如果我在屏幕上触摸,那么我应该在标签中获得触摸位置。

【问题讨论】:

    标签: android


    【解决方案1】:

    如果使用 PhoneGap 您可以使用 HTML/JS。 参考下面

    推荐这个链接-http://miloq.blogspot.in/2011/05/coordinates-mouse-click-canvas.html

    <style type="text/css">
    
    #canvas{background-color: #000;}
    
    </style>
    
    <script type="text/javascript">
    
      document.addEventListener("DOMContentLoaded", init, false);
    
      function init()
     {
        var canvas = document.getElementById("canvas");
        canvas.addEventListener("mousedown", getPosition, false);
      }
    
     function getPosition(event)
     {
    var x = new Number();
    var y = new Number();
    var canvas = document.getElementById("canvas");
    
    if (event.x != undefined && event.y != undefined)
    {
      x = event.x;
      y = event.y;
    }
    else // Firefox method to get the position
     {
         x = event.clientX + document.body.scrollLeft +
            document.documentElement.scrollLeft;
          y = event.clientY + document.body.scrollTop +
          document.documentElement.scrollTop;
         }
    
    x -= canvas.offsetLeft;
    y -= canvas.offsetTop;
    
        alert("x: " + x + "  y: " + y);
      }
    
    </script>
    

    【讨论】:

      【解决方案2】:

      试试这个,

      @Override
      public void onCreate(Bundle savedInstanceState)
      {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.main);
          final TextView textView = (TextView)findViewById(R.id.textView);
          // this is the view on which you will listen for touch events
          final View touchView = findViewById(R.id.touchView);
          touchView.setOnTouchListener(new View.OnTouchListener() {
              @Override
              public boolean onTouch(View v, MotionEvent event) {
                  textView.setText("Touch coordinates : " +
                      String.valueOf(event.getX()) + "x" + String.valueOf(event.getY()));
                      return true;
              }
          });
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-06-25
        • 2013-03-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-12-09
        相关资源
        最近更新 更多