展会信息港展会大全

Android中GestureOverlayView多笔画问题
来源:互联网   发布日期:2016-01-14 09:50:24   浏览:2202次  

导读:此代码关键的位置就在类中的最后面清除的代码,我看到论坛里很多人询问关于多笔画的问题,关于手势多笔画总是要在很短时间内输入,而不可以相隔很长时间,这是我们要在xml中的GestureOverlayView 中加入Android:fad......

此代码关键的位置就在类中的最后面清除的代码,我看到论坛里很多人询问关于多笔画的问题,关于手势多笔画总是要在很短时间内输入,而不可以相隔很长时间,这是我们要在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

}

赞助本站

人工智能实验室
AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港