此代码关键的位置就在类中的最后面清除的代码,我看到论坛里很多人询问关于多笔画的问题,关于手势多笔画总是要在很短时间内输入,而不可以相隔很长时间,这是我们要在xml中的GestureOverlayView 中加入Android:fadeOffset= 3600000这段代码,这断代码的含义就是使多笔画每两次的间隔时间延长,3600000是代表毫秒,也就是说这里我让每两次笔画的时间间隔延长了一小时.
当添加的上面的代码以后,可以解决笔画的间隔问题,但是相应的clear()清除方法的时间也会变为3600000毫秒,这个很显然是不可行的,所以我们要在清除前加入mGestureOverlayView.setFadeOffset(100);
这段代码的意思就是把每次多笔画的间隔设置为100毫秒,这样很快就能清楚屏幕上的手势了,注意:在清除后我们还要把时间间隔设置为3600000毫秒或者是你想要的时间间隔,这样才能确保下次执行会是3600000毫秒的时间间隔.
01
mGestureOverlayView.addOnGestureListener(new OnGestureListener()
02
{
03
public void onGesture(GestureOverlayView overlay, MotionEvent event) {
04
// TODO Auto-generated method stub
05
}
06
07
public void onGestureCancelled(GestureOverlayView overlay,
08
MotionEvent event) {
09
// TODO Auto-generated method stub
10
}
11
12
public void onGestureEnded(GestureOverlayView overlay,
13
MotionEvent event) {
14
// TODO Auto-generated method stub
15
mGesture = overlay.getGesture();
16
if(mGesture!=null)
17
{
18
mButton1.setEnabled(true);
19
}
20
}
21
22
public void onGestureStarted(GestureOverlayView overlay,
23
MotionEvent event) {
24
// TODO Auto-generated method stub
25
mButton1.setEnabled(false);
26
mGesture = null;
27
}
28
}
29
//保存为图片的代码
30
mButton1.setOnClickListener(new OnClickListener()
31
{
32
public void onClick(View v) {
33
// TODO Auto-generated method stub
34
Bitmap bitmap = mGesture.toBitmap(480, 750, 12, Color.RED);
35
//mImageView.setImageBitmap(bitmap);
36
File f = new File("/sdcard/00000.png");
37
FileOutputStream fos = null;
38
try {
39
fos = new FileOutputStream(f);
40
bitmap.compress(Bitmap.CompressFormat.PNG, 50, fos);
41
} catch (FileNotFoundException e) {
42
// TODO Auto-generated catch block
43
e.printStackTrace();
44
}
45
}
46
}
47
48
//清除的代码
49
mButton2.setOnClickListener(new OnClickListener()
50
{
51
public void onClick(View v) {
52
// TODO Auto-generated method stub
53
mGestureOverlayView.setFadeOffset(10);//清除前设置时间间隔缩小
54
mGestureOverlayView.clear(true);
55
mGestureOverlayView.setFadeOffset(3600000);//清楚后恢复时间间隔
56
mButton1.setEnabled(false);
57
}
58
}