我想做的是画一条线,将跟随我的手指。我已经建立
一个自定义 View ,并且我有一个有效的onTouchEvent()
。
我可以在onDraw()
方法中画一条静态线而没有太多麻烦。
我不确定如何随着手指的移动绘制线条。
public boolean onTouchEvent(MotionEvent event) {
super.onTouchEvent(event);
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN: {
Log.e(TAG, " - DOWN -");
Log.e(TAG, " getX: " + event.getX());
break;
}
case MotionEvent.ACTION_UP: {
Log.e(TAG, " - UP -");
Log.e(TAG, " getX: " + event.getX());
break;
}
}
return true;
}
一段时间以来,你们有什么暗示可以给吗?
我是否需要在
onTouchEvent()
上设置坐标并不断使 View 无效这么小的线段画出来了?
最后,我只想基本上可以用手指在屏幕上涂鸦
这个实验。
最佳答案
您仅跟踪向上和向下事件。也跟踪ACTION_MOVE事件。请注意,即使人的手指显然没有动,它也将连续跟踪。您的代码应如下所示:
ACTION_DOWN:商店位置。
ACTION_MOVE:如果位置与存储位置不同,则从存储位置到当前位置画一条线,并将存储位置更新为当前位置。
ACTION_UP:停止。
在ACTION_MOVE位中,最好检查该位置是否与存储的位置相距至少2或3个像素。如果要存储所有绘图点,那么以后可以对数据进行处理,然后将其增加到10像素,这样就不会在一条简单的直线上得到数百个点。
关于android - Android画线跟随你的手指,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4300399/