当我触摸屏幕时,android中是否有办法获取手指的区域(点集合)。通常,返回是一个点位置。我需要得到几个可以代表触摸区域的点。有谁知道? Thnaks
答案 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)
不幸的是没有。我刚才跑到这里 - 你可以尝试将数据标准化为几个'帧'。可能值得弄清楚为什么你需要一个确切的点或一组点,并找到另一种方法。