在android中有没有办法获得我手指的区域(一组点)

时间:2011-09-22 04:42:41

标签: android

当我触摸屏幕时,android中是否有办法获取手指的区域(点集合)。通常,返回是一个点位置。我需要得到几个可以代表触摸区域的点。有谁知道? Thnaks

4 个答案:

答案 0 :(得分:0)

只需使用View类的onTouchEvent()或在您的活动中实现OnTouchListener,并获得X和Y坐标,如

这是View类的OnTouchEvent()..

 @Override
 public boolean onTouchEvent(MotionEvent ev) {

  final int action = ev.getAction();
  switch (action & MotionEvent.ACTION_MASK) {


  case MotionEvent.ACTION_DOWN: {
     float x = ev.getX();
     float y = ev.getY();

     break;
  }

  case MotionEvent.ACTION_MOVE: {

   float mLastTouchX = x;
   float mLastTouchY = y;

    break;
}

  case MotionEvent.ACTION_UP: {
    break;
  }

  case MotionEvent.ACTION_CANCEL: {
    break;
  }

  case MotionEvent.ACTION_POINTER_UP: {

    break;
  }
  }

 return true;
 }

编辑:

@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;
    }
});
}

有关详情Android - View

答案 1 :(得分:0)

它必须是手指的真实形状吗?否则,您可以围绕触摸中心计算一个圆圈。

答案 2 :(得分:0)

我认为触摸的坐标和它的区域是不可能的。它原本不受Android API的支持。

参考:

http://developer.android.com/guide/topics/ui/ui-events.html

http://developer.android.com/reference/android/gesture/package-summary.html

答案 3 :(得分:0)

不幸的是没有。我刚才跑到这里 - 你可以尝试将数据标准化为几个'帧'。可能值得弄清楚为什么你需要一个确切的点或一组点,并找到另一种方法。